BEAN 3

스프링 기초 - 빈 생명주기 콜백

빈 생명주기에 대해서 알아보겠습니다. 데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고 애플리 케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요합니다. package hello.core.lifecycle; public class NetworkClient { private String url; public NetworkClient(){ System.out.println("생성자 호출, url = " + url); connect(); call("초기화 연결 메시지"); } public void setUrl(String url) { this.url = url; } //서비스 시작시 호출 public void conne..

스프링 2024.02.19

스프링 기초 - 스프링 컨테이너

이전 시간에 ApplicationContext를 통해 스프링 컨테이너를 만들어 보았습니다. 다시 정리해 보자면 ApplicationContext는 인터페이스이고 XML 기반의 설정 클래스와 , 자바 기반의 설정 클래스를 만들 수 있다고 했습니다. 그 중 JAVA기반의 AnnotationCofigApplicationContext를 사용하였고 이는 ApplicationContext 인터페이스의 구현체입니다. 스프링 컨테이너는 `new AnnotationConfigApplicationContext(AppConfig.class)`를 통해서 생성됩니다. 스프링 컨테이너를 생성 할 때는 구성 정보를 지정해줘야하는데 위 코드에서 보면 알 수 있듯 AppConfig.class로 설정 그러면 스프링 컨테이너는 파라미터로..

스프링 2024.02.14

스프링 기초 - 스프링으로 전환

지금까지는 순수한 자보 코드만을 사용해서 DI를 적용했는데, 이제는 스프링으로 전환하여 사용해보겠습니다. AppConfig에 설정을 구성한다는 뜻의 @Configuration을 붙여줍니다. 각 메서드에 @Bean을 붙여 스프링 컨테이너에 스프링 빈을 등록해줍니다, 스프링 빈이 무엇인지는 다음시간에 설명하겠습니다. 회원가입을 진행하는 main 클래스인 MemberApp에도 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 를 붙여줍니다. (이때 AppConfig.class에는 @Configuration 어노테이션이 붙여있어야 합니다.) ApplicationContext는 스프링 프레임..

스프링 2024.02.13