스프링

    [Spring] 핵심원리 기본편 - 스프링 컨테이너와 스프링 빈

    스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 저번 포스팅에서 코드를 짤 때 스프링 컨테이너를 생성했던 부분이다. ApplicationContext는 '스프링 컨테이너'이고 인터페이스이다. (다형성) AnnotationConfigApplicationContext는 ApplicationContext 인터페이스의 구현체이다. 스프링 컨테이너는 XML 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로도 만들 수 있다. 이전 포스팅에서 AppConfig를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. 스프링 컨테이..

    [Spring] 핵심원리 기본편 - 스프링 핵심 원리 이해1 (객체 지향 원리 적용)

    인프런 - 스프링 핵심 원리 (김영한) 강의를 듣고 간단하게 정리한 글입니다. 새로운 할인 정책 개발 기획자가 서비스 오픈 직전에 할인 정책을 고정 금액 할인에서 주문 금액당 몇 퍼센트 할인 해주는 정률 할인으로 변경 요구했다고 가정 -> 새로운 정률 할인 정책을 추가해보자! DiscountPolicy.java 인터페이스와 같은 폴더 위치에 RateDiscountPolicy.java 파일을 추가해준다. 여기서는 VIP 고객에게 10퍼센트 할인을 넣어줬다. package hello.core.discount; import hello.core.member.Grade; import hello.core.member.Member; public class RateDiscountPolicy implements Disc..

    [Spring] 핵심원리 기본편 - 객체 지향 설계와 스프링

    인프런 - 스프링 핵심 원리 (김영한) 강의를 듣고 간단하게 정리한 글입니다. 스프링 부트 스프링을 편리하게 사용할 수 있도록 지원해주는 기술 Tomcat과 같은 웹 서버를 내장해서 별도의 웹 서버 설치하지 않아도 됨 손쉬운 빌드 구성을 위한 starter 종속성 제공 -> spring-data-starter 등 여러개를 직접 설치해 써야 했지만 스프링 부트를 통해 한번에 관리 가능 스프링과 서드파티 라이브러리 자동 구성 -> 버전 조합 알아서 설치해줌 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공 -> 운영에 필요한 중요한 기능들 알아서 제공해줌 관례에 의한 간결한 설정 -> 대부분 디폴트 설정 사용하고 필요한 부분만 일부 커스텀 가능 스프링 자바 언어 기반의 프레임워크 자바 언어의 가..