순간을 기록으로

[Spring] 스프링 빈을 등록하는 방법2: 직접 등록하기 본문

Development/Spring

[Spring] 스프링 빈을 등록하는 방법2: 직접 등록하기

luminous13 2021. 11. 19. 17:14

 

~Application.java가 있는 위치에 SpringConfig 클래스 생성을 합니다.

 

 

@Bean은 스프링 빈 등록을 직접하겠다는 의미이다. @Configuration은 설정파일임을 알려준다. 멤버 서비스와 멤버 레포지토리를 직접 등록한다. 컨트롤러는 스프링이 자동으로 관리하기 때문에 컴포턴트 스캔 방식으로 놔둔다. 서비스의 경우 객체 생성할 때 생성자 인자로 밑에 함수를 넣어 연결을 해준다.

 

참고1

의존성 주입에는 1.필드 주입, 2.setter 주입, 3.생성자 주입이 있다. 거의 대부분 생성자 주입을 실무에서 사용 중이다. setter주입의 경우 변경될 가능성이 있어 안정성이 떨어지는 단점이 있다.

 

참고2

정형화된 컨트롤러, 서비스, 레포지토리의 경우 컴포넌트 스캔 방식을 이용한다. 하지만 정형화 되지 않거나 상황에 따라 구현 클래스를 변경을 해야 할 경우 직접(=설정을 통해) 스프링 빈을 등록한다.

 

주의

@Autowired을 통한 DI는 스프링이 관리하는 빈 객체에서만 동작한다. 스프링 빈으로 등록되지 않은 객체는 동작하지 않는다.

Comments