인프런

    싱글톤 컨테이너

    싱글톤 컨테이너

    싱글톤 컨테이너 목차 웹 애플리케이션과 싱글톤 싱글톤 패턴 싱글톤 컨테이너 싱글톤 방식의 주의점 @Configuration과 싱글톤 @Configuration과 바이트코드 조작의 마법 웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션 개발도 얼마든지 개발 할 수 있다. 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 스프링 없는 순수한 DI 컨테이너 테스트 package hello.core.singleton; import hello.core.AppConfig; import hello.core.member.MemberService; import org.assertj.core..

    스프링 컨테이너와 스프링 빈

    스프링 컨테이너와 스프링 빈

    스프링 컨테이너와 스프링 빈 목차 스프링 컨테이너 생성 컨테이너에 등록된 모든 빈 조회 스프링 빈 조회 - 기본 스프링 빈 조회 - 동일한 타입이 둘 이상 스프링 빈 조회 - 상속 관계 BeanFactory와 ApplicationContext 다양한 설정 형식 지원 - 자바 코드, XML 스프링 빈 설정 메타 정보 - BeanDefinition 스프링 컨테이너 생성 스프링 컨테이너가 생성되는 과정을 알아보자. // 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너라 한다. ApplicationContext 는..

    스프링 핵심 원리 이해2 - 객체 지향 원리 적용

    스프링 핵심 원리 이해2 - 객체 지향 원리 적용

    스프링 핵심 원리 이해2 - 객체 지향 원리 적용 목차 새로운 할인 정책 개발 새로운 할인 정책 적용과 문제점 관심사의 분리 AppConfig 리팩터링 새로운 구조와 할인 정책 적용 전체 흐름 정리 좋은 객체 지향 설계의 5가지 원칙의 적용 IoC, DI, 그리고 컨테이너 스프링으로 전환하기 새로운 할인 정책 개발 새로운 할인 정책 확장 악덕 기획자: 서비스 오픈 직전에 할인 정책을 지금처럼 고정 금액 할인이 아니라 좀 더 합리적인 주문 금액당 할인하는 정률(%) 할인으로 변경하고 싶어요. 예를 들어서 기존 정책은 VIP가 10000원을 주문하든 20000원을 주문하든 항상 1000원을 할인했는데, 이번에 새로 나온 정책은 10%로 지정해두면 고객이 10000원 주문시 1000원을 할인해주고, 20000..

    스프링 핵심 원리 이해1 - 예제 만들기

    스프링 핵심 원리 이해1 - 예제 만들기

    스프링 핵심 원리 이해1 - 예제 만들기 목차 프로젝트 생성 비즈니스 요구사항과 설계 회원 도메인 설계 회원 도메인 개발 회원 도메인 실행과 테스트 주문과 할인 도메인 설계 주문과 할인 도메인 개발 주문과 할인 도메인 실행과 테스트 프로젝트 생성 사전 준비물 Java 11 설치 IDE: IntelliJ 또는 Eclipse 설치 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io 프로젝트 선택 Project: Gradle Project Spring Boot: 2.3.x Language: Java Packaging: Jar Java: 11 Project Metadata groupId: hello artifactId: core Dependencies: 선택하지..

    객체 지향 설계와 스프링

    객체 지향 설계와 스프링

    객체 지향 설계와 스프링 목차 자바 진영의 추운 겨울과 스프링의 탄생 스프링이란? 좋은 객체 지향 프로그래밍이란? 좋은 객체 지향 설계의 5가지 원칙(SOLID) 객체 지향 설계와 스프링 자바 진영의 추운 겨울과 스프링의 탄생 자바 진영의 표준 기술이었던 Enterprise Java Beans (EJB), 복잡하고 어려우며 의존적이고 느렸음. → EJB 컨테이너의 대체, Spring → EJB 엔티티빈 기술을 대체, 하이버네이트 기반 JPA 표준 인터페이스 스프링 역사 2002년 로드 존슨 책 출간 EJB의 문제점 지적 EJB 없이도 충분히 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여줌 여기에 지금의 스프링 핵심 개념과 기반 코드가 들어있음 BeanFactory, ApplicationCon..