본문 바로가기
728x90

Spring24

[Spring] Swagger 적용(Springboot 3.x) Swagger 란?What Is Swagger? Swagger is a set of open-source tools built around the OpenAPI Specification that can help you design, build, document and consume REST APIs.출처 : https://swagger.io/docs/specification/about/Swagger는 REST API를 설계, 구축, 문서화 및 소비하는 데 도움이 되는 OpenAPI 사양을 기반으로 구축된 오픈 소스 도구 세트입니다: 설정 방법• Maven// Maven org.springdoc springdoc-openapi-starter-webmvc-ui 2.3.0 • Gradle// bui.. 2024. 9. 11.
[Spring] ERROR : Unable to find a single main class from the following candidates 원인main()이 두 개여서 발생한 ERROR이다. 해결 방안• Maven     com.example.TestApplication  • Gradle// build.gradle// main 메소드 명시springBoot { mainClassName = 'com.example.TestApplication'}    참고https://stackoverflow.com/questions/23217002/how-do-i-tell-spring-boot-which-main-class-to-use-for-the-executable-jar 2024. 9. 9.
[Spring/JPA] jpa delete가 안될 때 delete 쿼리가 안 나가는 코드UploadFile에 외래키가 존재하고, Board에는 존재하지 않는다. 즉 단방향이다. UploadFile 에는 다음과 같은 데이터가 존재한다. 글 수정을 통해 UploadFile을 바꾸려고 다음과 같은 코드를 작성하였다.@Transactionalpublic void editAttachFile(Board board, BoardEditDto boardEditDto) throws IOException { UploadFile boardAttachFile = board.getAttachFile(); if (boardAttachFile != null) { board.setAttachFile(null); // delete query 예상 .. 2024. 8. 16.
[Spring/JPA] OSIV와 open-in-view OSIV (Open Session In View)영속성 컨텍스트를 View 영역까지 열어두는 기능즉, View 에서도 지연로딩과 같은 영속성 컨텍스트의 특징을 사용할 수 있다.Spring Boot 에서 OSIV는 기본적으로 활성화된 상태이다.아무 설정하지 않고 어플리케이션을 실행하면 다음과 같은 WARN 메시지를 볼 수 있다.  WARN 13132 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure s.. 2024. 8. 12.
[Spring] @Bean, @Component, @Configuration 스프링 빈(Bean)Spring의 DI Container에 의해 관리되는 POJO(Plain Old Java Object) 빈 등록 방법 1. 빈 설정 파일(Bean Configuration File)에 직접 등록(@Configuration, @Bean) ▶ 설정 클래스에서 @Bean 어노테이션을 사용해 수동으로 스프링 컨테이너에 빈을 등록 ▶ @Bean을 사용하는 클래스에 @Configuration 사용하여 클래스에서 Bean을 등록하고자 함을 명시한다. @Configurationpublic class SpringConfig { private final MemberRepository memberRepository; public SpringConfig(MemberRepository membe.. 2024. 8. 9.
[Spring Security] logout 할 때, GET /login?logout 해결 방법 발생하는 현상SecurityConfig에 있는 filterChain() 그리고 login과 logout을 다음과 같이 만들었다.@Configuration@RequiredArgsConstructorpublic class SecurityConfig { ... @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { ... .mvcMatchers("/members/signup", "/members/login", "/members/refreshToken").permitAll() // "/signup", "/login", "/users/refresh" .. 2024. 8. 2.
728x90