목록스프링/스프링 기본 (11)
최코딩의 개발노트
보호되어 있는 글입니다.
개요: component를 붙여서 똑같은 타입의 조회빈이 2개 이상일 때 해결방법은 작성했다. 다음과 같이 똑같은 타입인데 둘다 @Component 를 붙일시 오류가 뜬다 해결방법은 아래와 같다. @Autowired 오른쪽이 바뀐거다 즉 생성자에 원하는 의존방식을 직접 주입해주면된다. @Qualifier 추가 구분자를 붙여주는 방법이다. 주입시 추가적인 방법을 제공하는 것이지 빈이름을 바꾸는 것이 아니다. 다음과 같이 두 클래스에다 @Qualifier("이름")을 지정한다. 다음과 같이 작성하면 오류를 피할 수 있다. 하지만 계속 @Qualifier을 붙여줘야 된다는 단점을 갖고 있다. @Primary 붙여주기만 하면 끝이다. 그럼 우선권이 @Primary 붙이 빈이 먼저 실행되기 때문에 오류를 피할 수..
개요: 필자가 롬복을 공부하면서 정리한 게시물이다. 설치 build.gradle 에다 다음과 같이 작성을 한다. 1. //lombok 설정 추가 시작 configurations { compileOnly { extendsFrom annotationProcessor } } //lombok 설정 추가 끝 2. //lombok 라이브러리 추가 시작 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //lombok 라이브러리 추가끝 plugins..
개요: 필자가 강의를 들으면서 의존관계 주입 4가지를 정리한 게시물이다. 생성자 주입 - 이름 그대로 생성자를 통해서 의존관계를 주입 받는 방법이다. - 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다. - 불변, 필수 의존관계에서 사용한다. @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired //생성자 1개 있을 때 생략가능 public OrderServiceImpl(MemberRepository memberRepository, DiscountPo..
개요: 필자가 컴포넌트 스캔을 정리하면서 작성한 글이다. 탐색할 패키지의 시작 위치 지정 모든 자바 클래스를 다 컴포넌트 스캔하면 시간이 오래걸린다. 따라서 꼭 필요한 위치부터 탐색하도록 지정해야한다. @Configuration @ComponentScan( basePackages = "hello.core.member", //이렇게 하면 member만 돌아간다 패키지 지정 basePackageClasses = AutoAppConfig.class, basePackages: 탐색할 패키지의 시작위치를 지정한다. (basePackages={"hello.core", "hello.service"} - 이렇게 여러 시작 위치를 지정할 수도 있다. basePackageClasses: 지정한 클래스의 패키지를 탐색 시작..
보호되어 있는 글입니다.