본문 바로가기

Spring40

[Spring] 컴포넌트 스캔 탐색 위치와 기본 스캔 대상필터중복 등록과 충돌 탐색 위치와 기본 스캔 대상 @ComponentScan( basePackages = "hello.core",) basePackages를 통해 탐색할 패키지의 시작 위치를 지정한다. 해당 위치 패키지를 포함하여 하위 모든 패키지를 탐색한다.지정하지 않으면 @ComponentScan이 붙은 설정 정보 클래스의 패키지가 시작 위치가 된다. 설정 정보 클래스의 위치를 프로젝트 최상단에 두는 방법이 기본이다. 컴포넌트 스캔은 @Component뿐만 아니라 추가로 포함한다.- @Component: 컴포넌트 스캔에서 사용- @Controller: 스프링 MVC 컨트롤러에서 사용- @Service: 스프링 비즈니스 로직에서 사용- @Repository: 스프.. 2025. 12. 3.
[Spring] 컴포넌트 스캔, 의존관계 자동 주입 컴포넌트 스캔과 의존관계 자동 주입 @Bean을 통해 설정 정보에 직접 등록할 스프링 빈을 나열했다.누락될 가능성도 있으므로 설정 정보가 없어도 자동으로 스프링 빈을 등록하는컴포넌트 스캔이라는 기능을 사용한다.의존관계를 자동으로 주입하는 @Autowired 기능도 사용한다. AutoAppConfig.javapackage hello.core;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.FilterType;@Configuration@ComponentScan.. 2025. 12. 1.
[Spring] @Configuration과 싱글 @Configuration과 싱글톤@Configuration과 바이트코드 조작 @Configuration과 싱글톤 @Configurationpublic class AppConfig { @Bean public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService(){ return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public MemberRepository memberRepository.. 2025. 11. 30.
[Spring] 싱글톤 컨테이너 싱글톤 컨테이너싱글톤 방식의 주의점 싱글톤 컨테이너- 스프링 컨테이너는 싱글턴 패턴을 적용하지 않아도 객체 인스턴스를 싱글톤으로 관리한다.- 싱글톤 레지스트리라 한다. @Test @DisplayName("스프링 컨테이너와 싱글톤") void springContainer(){ ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService1 = ac.getBean("memberService", MemberService.class); MemberService memberService2 = ac.getBean("memberSer.. 2025. 11. 24.