728x90
@SpringBootApplication
@ComponentScan("xx.xxx.*")
@EnableJpaRepositories("xx.xxx.*")
@EntityScan("xx.xxx.*")
@MapperScan("xx.xxx.xxx")
@EnableOAuth2Client
@SpringBootApplication
- 스프링 부트의 가장 기본적인 설정을 선언
- 자동 설정을 해주기 위한 어노테이션
- https://bamdule.tistory.com/31
@ComponentScan("basePackage")
- spring 3.1부터 도입
- 특정 패키지(basePackage) 이하에서 컴포넌트 클래스(@Component, @Repository, @Service, @Controller, @RestController 등)의 어노테이션이 붙은 클래스를 찾아 빈으로 등록해주는 역할
- basePackages()나 basePackageClasses()를 설정해주지 않으면 기본적으로 @ComponentScan이 붙어있는 configuration 클래스가 자동으로 시작 지점이 됨
@EnableJpaRepositories("basePackage")
- JpaRepository에 대한 설정정보를 자동적으로 로딩하고 이 정보를 토대로 Repository 빈을 등록하는 역할
- @SpringBootApplication 어노테이션 안에 이미 등록되어 있어 스프링 부트를 사용할 경우에는 따로 어노테이션을 추가할 필요가 없어집니다.
- Spring에서는 @Configuration 클래스에서 사용해야함
- 기본적으로 해당 Config 클래스의 하위 패키지를 스캔
@EntityScan("basePackage")
- 애플리케이션이 실행될 때 basePackages로 지정된 패키지 하위에서 JPA 엔티티(@Entity 어노테이션이 설정된 도메인 클레스)를 검색함
- Jsr310JpaConverters를 사용하지 않으면 스프링 부트의 자동 설정에 의해서 처리될 베이스 패키지도 지정해야 하는 단점이 생김
- Entity 클래스가, Entity를 사용하고자 하는 application main package와 전혀 다른 package에 있을 때 사용
- 별도로 basePackages 속성을 주지 않으면 @SpringBootApplication에 설정한 빈 scan 범위와 동일한 범위로 Entity를 scan 함
@MapperScan("Mapper Interface 경로")
- Mybatis 사용할 때
- DB 설정 클래스 파일에 추가
- mapper를 스캔할 수 있도록 함
- mapper.xml 파일들이 바라본 기본 패키지 위치를 지정해주는 어노테이션
@EnableOAuth2Client
'두두의 IT > Spring' 카테고리의 다른 글
Spring Boot Mapper & Dao Annotation (0) | 2022.05.25 |
---|---|
Spring Boot Service Annotation (0) | 2022.05.23 |
Spring Boot Git Open Source (0) | 2022.05.20 |
Spring Boot 지원 Interface & Class (0) | 2022.05.17 |
Spring Boot + JSP + IntelliJ 주의사항 (0) | 2022.05.09 |