본문 바로가기
IT/Java

[Spring Boot] AutoConfiguration

by 성준하이 2023. 9. 3.
반응형

AutoConfiguration 이란 스프링이 아닌 스프링부트를 사용하는 이유 중 하나이다.

 

먼저 그러기 위해서는 스프링 부트 프레임워크를 새롭게 시작을 해봐야한다.

 

https://start.spring.io/

 

스프링 부트의 시작을 하기 위해서는 IDE에서도 가능하지만 파일로 만드려면 위 사이트를 참고 바란다.

 

생성을 하게 되면 가장 최상단에 프로젝트 이름 + Application.java 파일이 생길 것이다.

 

구성은 아래와 같다.

@SpringBootApplication
public class TestProjectApplication {

   public static void main(String[] args) {
     SpringApplication.run(TestProjectApplication.class, args);
   }


}

기본 구성이며 이 main 함수가 실행 되면서 springboot가 기동이 된다.

 

여기서 이 @SpringBootApplication 은 자동으로 생성되는데 따라 들어가보면 다음을 포함한다.

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

이중 아랫것들을 위주로 살펴보면 (나머지 annotation은 참고 포스팅 참고)

 

  • @SpringBootConfiguration
  • @ComponentScan
    • @Component라는 어노테이션을 붙인 클래스들을 찾아서 Bean으로 등록
    • 자세한 사항은 참고 포스팅 참고
  • @EnableAutoConfiguration
    • Spring Boot Dependency jar 파일 내에 META-INF 폴더에 spring.factories 파일을 열면 자동 설정 목록을 확인 있다. 여기의 조건들이 자동 설정 조건에 포함된다.

 

 


참고 포스팅

https://thenicesj.tistory.com/82

 

Spring / SpringBoot 차이점

이름도 비슷하면서 뭔가 같으면서도 다른 이둘. 차이점을 알아보도록 하자. 일단 스프링이란 자바 프로그래밍 언어의 대표적인 프레임워크중 하나로 프레임워크는 아래 포스팅을 참조하자. 스

thenicesj.tistory.com

https://thenicesj.tistory.com/584

 

custom annotation 활용

요즘 자바에선, 스프링에선 annotation에 대해서 많이 사용이 되고 없이는 개발이 많이 불편한 시대가 되어버렸다. 이전 포스팅에서 annotation에 대해서 많이 다뤘으니 참고를 하는것도 도움이 될것

thenicesj.tistory.com

https://thenicesj.tistory.com/659

 

@ComponentScan이란 무엇인가?

스프링 Bean에 대해서 이전 포스팅에서 다룬 적이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 스프링부트는 실행되는 메인 메서드 위에 @SpringBootApplication 를 달고 있고 그 안을 들어가

thenicesj.tistory.com

 

반응형

댓글