본문 바로가기

@ComponentScan4

Springboot 자동설정(AutoConfiguration) 자동 설정 @SpringBootApplication 안에 여러 어노테이션이 있다. 조금 살펴보면, @SpringBootConfiuration 은 기존 @Configuration 을 사용하며, 기능도 비슷하다. 빈 설정을 제공한다. @ComponentScan 는 어노테이션이 붙은 클래스의 같은 패키지 내(히위 패키지 포함)에서 컴포넌트들을 스캔하여 빈을 등록한다. 컴포넌트라 함은 @Component 애노테이션을 말하고, 이는 @Configuration, @Repository, @Service, @Controller, @RestController 를 포함한다. @EnableAutoConfiguration 은 추가적으로 빈을 한 번더 읽어 등록한다. 기본적으로 @Configuration 가 들어있고, 스프링부.. 2021. 1. 14.
Spring IoC - ComponentScan, Bean scope ComponentScan 스프링부트 어노테이션인 @SpringBootApplication 은 @ComponentScan 을 포함하고 있다. @SpringBootApplication 이 Application 클래스 위에 붙어있다고 해보자. 컴포넌트 스캔은 빈을 찾아 등록하는데, 스캔하는 범위는 Application 와 같은 경로에 있는 모든 파일 / 하위 파일들이다. @ComponentScan 은 @Repository, @Service, @Controller, @Configuration 을 포함하고 있다. 또한 스캔할 애노테이션을 필터할 수 있는 기능도 제공한다. 컴포넌트 스캔에서 초기에 등록해야할 빈이 많을 경우, 초기 구동 시간이 오래 걸릴 수 있다. 하지만 일단 구동이 되면 후에 느려지진 않는다. 이.. 2021. 1. 10.
Spring IoC - 빈 등록 방법 5가지 스프링 2003년 등장해서, java EE 와 호환관계이다. 서블릿 기반 애플리케이션을 만들 때 사용한다. 스프링 5부터는 WebFlux 지원으로 서블릿 기반 아닌 애플리케이션도 만들 수 있게 되었다. 디자인 철학 모든 선택은 개발자의 몫이다. 다양한 관점을 지향한다. 하위 호환성을 지킨다. API를 신중히 설계한다. 높은 수준의 코드를 지향한다. 컨테이너와 빈 IoC(Inversion of Control, 제어의 역전)은 의존성주입 (Dependency Injection)이라고도 하며 의존성있는 객체를 직접 만드는 것이 아닌, 주입 받아 사용하는 방법이다. BeanFactory 는 스프링 IoC 컨테이너의 가장 최상위 인터페이스이다. 빈이란? 빈(bean)은 스프링 IoC 컨테이너가 관리하는 객체이다... 2021. 1. 10.
[Spring Boot] 3 spring-boot-start 이 글은 스프링 공식문서를 보며 강의해주신 백기선 유투버님의 강의를 듣고 요약한 글입니다. 1. Starters 의존성들이 충돌나지 않도록 도와줍니다. spring-boot-starter-data-jpa 등을 바로 연동해서 쓸 수 있습니다. 공식적인 starter는 spring-boot-starter-* 규칙을 따릅니다. 이 이름 구조는 starter를 찾기 위함입니다. 커스텀 Starter 만들기 를 알아봅시다. 써드파티(third party) 스타터는 공식 artifacts 이름인 spring-boot로 시작하면 안됩니다. thirdpartyproject-spring-boot-starter 이런 식으로 이름을 짓는 것이 좋습니다. Creating Your Own Starter autoconfigure.. 2020. 3. 23.
728x90