백앤드/SpringBoot + Java 스프링 기본 3

[SpringBoot + Java] 스프링 기본(Bean 의 생명주기 콜백)

들어가며 - 인프런 김영한 님의 빈 생명주기 강의 정리 입니다. - 강의의 예시를 가져와 보자면 외부 네트워크에 연결 해야 하는 객체를 생성 한다고 가정 할 때 다음 문제가 발생 할 수 있습니다. . 객체가 생성 됨과 동시에 모든 의존 주입을 마친다면 url 과 같이 외부에서 데이터를 받아서 주입 해야 하는 데이터의 경우 원치 않는 값으로 생성 되게 됩니다. . 또한 스프링 컨테이너가 종료 되기 직전에 스프링 빈을 안전하게 소멸 시켜야 안전한 종료가 가능 합니다. 스프링 빈의 생명주기 - 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료 - 위의 생명주기를 따르게 되면 빈이 생성 된 후 의존 관계를 주입 하게 되고 사용 준비가 ..

[SpringBoot + Java] 스프링 기본(의존 관계 자동 주입의 4가지 방법)

들어가며 - 앞서 생성자를 통해 의존 관계를 주입 하는 방법에 대해 알아 보았습니다. - 이러한 방법은 생성자를 사용 하기에 해당 class 가 생성 될 때 의존 관계가 주입 되고 그 후 변화 하지 않는다는 특성을 지닙니다. - 하지만 프로그램을 짜다 보면 다른 형태가 필요 할 때도 존재 합니다. 4가지 방법 - 스프링 에서 의존관계를 주입 하는 방법에는 크게 4가지가 존재 합니다. . 생성자 주입 . 수정자 주입 . 필드 주입 . 일반 메서드 주입 생성자 주입 - 지금까지 사용 하였던 방법입니다. . class 의 생성자에 의존 관계 주입 코드를 넣어 객체가 생성됨과 동시에 의존 관계가 주입 됩니다. . 따라서 단 한번만 주입이 실행 됩니다. . 한번만 호출 되기에 불변의 측성을 가지며, final 로..

[SpringBoot + Java] 스프링 기본(Autowired, Component)

들어가며 - 인드런 김영한 님의 강의 '컴포넌트 스캔' 의 정리 입니다. - 앞서 @Bean 을 통한 스프링 빈의 관리에 대해 알아 보았습니다. - 하지만 아주 큰 프로젝트에서 스프링 빈이 굉장히 많아 지면 어떨까요 - 설정 정보고 커지고 유지 보수가 어렵게 되고 무엇보다 실수 할 가능성이 커지게 됩니다. - 이러한 문제를 ComponentScan 과 Autowired 로 해결 할 수 있습니다. ComponentScan - 위에 언급 한 것 처럼 너무 많은 Bean 을 수동으로 등록 하게 되면 문제가 발 생 할 수 있습니다. - ComponentScan 은 Scan 대상 중 @Component 어노테이션이 달린 모든 class 를 자동으로 스프링 빈에 등록 해 줍니다. ComponentScan 사용법 -..