XXXXApplication.java ( 파일이름 )
@SpringBootApplication
public class Application{
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
- 위 코드는 spring boot에서는 필수코드임.
- 시작점 역할 담당.
@SpringBootApplication 어노테이션 필수로 지정.
다음 3가지 어노테이션을 포함한다.
@SpringBootConfiguration
- 개발자가 필요에 의해서 추가적인 Configuration 설정할 수 있도록 지원.
(추가적인 설정방법: 클래스 작성하고 @Configuration 지정 )
- 대표적으로 Spring Security 임.
@EnableAutoConfiguration
- pom.xml에 stater같은 의존성을 설정하면 거의 자동으로 필요한 설정을 해줌.
즉 자동 구성 메커니즘 활성화.
@ComponentScan
- 자동으로 빈생성하는 방법으로 기본적으로 패키지 단위로 설정해서
자동으로 생성하도록 가이드함.
빈 생성 방법
항상 Application.java의 패키지와 같거나 서브 패키지로
빈을 작성하자. (***********************************)
1) 명시적으로 생성
- @Configuration + @Bean 이용
==> @Configuration 을 통해서 @Bean으로 지정한 빈을 생성했음.
==> @Bean 은 메서드 레벨만 가능.
@Configuration 는 클래스 레벨만 가능.
=> DeptDAO를 호출하면 생성되는건 맞는데 컨테이너한테 니가 관리해야하는 클래스라고 말해주는 게 @Bean, 메서드에서만 쓸 수 있음
=> Bean을 관리하는 Configuration 역할이라서 어노테이션도 @Configuration
DeptConfiguration도 빈으로 관리한다는 얘기는 생성된다는 얘기니까 기본생성자도 생성해서 안에 로직 적기
명시적생성인데 패키지가 다른 경우
scan 방법 2가지
가. 패키지를 지정하지 않는 경우의 scan
- @SpringBootApplication 가진 Application.java의 패키지와
같거나 서브 패키지로 작성하면 자동으로 scan 됨.
나. 패키지를 지정한 경우의 scan
'Spring Boot (Maven)' 카테고리의 다른 글
스프링부트 백그라운드8 ( 빈 간의 의존성 설정 ) - 권장 (0) | 2024.06.09 |
---|---|
스프링부트 백그라운드7 ( 빈 생성방법 - 권장 ) (0) | 2024.06.09 |
스프링부트 백그라운드5 ( 로깅처리 ) (0) | 2024.06.08 |
스프링부트 백그라운드4 ( 스프링부트 장점, 특징 ) (1) | 2024.06.08 |
IoC Container에게 Bean(클래스)정보 같은 데이터를 알려주는 방법 ( Configuration 작업 ) (0) | 2024.06.03 |