본 글은 inflearn의 김영한님의 강좌를 ref합니다Java 진영에서 표준으로 사용하는 기술 인 EJB(J2EE)를 사용이론적으로 괜찮았지만 실제 사용 비용이 비싸며 사용하기가 매우 복잡 --> 추후 Spring 등장의 원인EJB Entity Bean (EJB에서
클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리5가지 목록SRP(Single responsibility Principle): 단일 책임 원칙OCP(Open/Closed Principle): 개방-폐쇄 원칙LSP(Liskov Substituti
이번 글은 순수 Java를 활용한 코드임 (Spring사용 X)DI와 DI컨테이너가 어떤 역할을 할 수 있는지가 핵심회원이 주문을 하는 간단한 예제로 코드를 변경할 예정SOLID 5가지 관점에서 DI의 적용 전/후를 비교해서 보는것이 중요member의 회원가입 / 조회
앞에서 작성한 AppConfig.java 파일에 Bean설정 내용을 입력하면, 실행 시점에 스프링 컨테이너가 Bean을 생성해서 유지한다고 했다.(이를 통해 DIP / OCP를 지킬 수 있었음)테스트 코드를 작성할 때에 우리는 아래 코드 처럼 의존성 주입을 해야한다!(
싱글톤(Singelton) ? > : 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 > > 스프링은 태생이 기업용 온라인서비스 기술을 지원하기 위해 탄생 --> 대부분 웹 애플리케이션이며, 보통 여러 고객이 동시에 요청을 함! 고객의 요청이 올
지금까지 스프링 빈(Bean)을 등록할 때 구성파일에 @Bean 을 사용했다 \--> 관리할 빈이 많아지면 관리하기 번거로워 진다굳이 빈 설정파일을 만들지 않거나, @Bean을 안쓰고 빈 등록을 할 수 있다 \--> @Component 과Component Sca
의존관계를 주입하는 4가지 방법이 있다.(주로 생성자 주입을 사용하며 어쩌다 한번 setter 주입사용)종류1) 생성자 주입2) setter 주입(수정자 주입)3) 필드 주입4) 일반 메서드 주입불변 / 필수 의존관계에 적용생성자 호출시점에 1번만 호출되는것이 보장생
@Autowired에 필요한 과정 복습1) Component Scan + @Component로 객체를 스프링 빈에 등록2) @Autowired를 통해 등록된 빈에서 필요한 의존관계를 설정 (우선적으로,타입(Type)으로 해당 빈(Bean)을 찾는다!)만약, @
지금까지 우리는 스프링 컨테이너에 스프링 빈(Bean)을 등록하는 2가지 방법을 모두 다룸 수동 : AppConfig에 @Bean을 사용해 빈 등록 자동 : Component Scan + @Component로 자동 빈 등록2가지 방법에 대해 어떤 경우에 자동 / 수동
객체의 초기화 작업빈(Bean)의 생성과 의존관계 주입이 완료되고 호출되는 작업애플리케이션 시작 시점에 필요한 연결을 미리 하는 작업은 반드시 빈 생성&의존관계 주입이 모두 완료된 후 시작되어야 함개발자가 이 시점을 알기 위해 필요한 것이 초기화 콜백 메서드객체의 종료
빈이 존재할 수 있는 범위(Scope)를 의미한다.스프링은 기본적(default)으로 빈(Bean)의 스코프를 싱글톤(Singleton)으로 제공그 외에도 다양한 스코프가 존재싱글톤(Singleton): 기본 스코프, 스프링 컨테이너 시작 ~ 종료 까지 유지되는 가장
웹 환경에서만 동작하므로 웹 라이브러리가 필요웹 스코프는 여러 종류의 스코프를 가지고 있다request: 웹 요청이 들어오고 나갈 때 까지 유지되는 스코프 (하나의 HTTP request가 lifecycle)session: 웹 세션이 생성되고 종료될 때 까지 유지되