Framework8 [Spring] 스프링 핵심 원리 (기본) - 3. 스프링 컨테이너와 스프링 빈 3. 스프링 컨테이너 & 스프링 빈 3.1 스프링 컨테이너의 생성 과정 3.1.1 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext를 스프링 컨테이너라 하며, 인터페이스이다. 스프링 컨테이너는 어노테이션 기반 또는 XML 기반의 자바 설정 클래스로 만들 수 있다. (자바 설정 클래스 기반 스프링 컨테이너) new AnnotationConfigApplicationContext(AppConfig.class);는 ApplicationContext(인터페이스)의 '구현체'이다. ### 3.1.2 스프링 빈 등록 스프링 컨테이너는 파라미.. 2023. 2. 3. [Spring] 스프링 핵심 원리 (기본) - 2. 설계와 개발, 객체 지향 원리의 적용 2. 스프링 핵심 원리 - 예제 2.1 주문 도메인 설계 주문 도메인의 협력, 역할, 책임 주문 도메인 전체 주문 클래스 다이어그램 주문 객체 다이어그램 2.2 주문 도메인 개발 public class OrderServiceImpl implements OrderService { private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); // private final DiscountPolicy discountPolicy = new RateDiscountPolicy(); } 위 코드는 OCP와 DIP 원칙을 동시에 어긴다. 기능을 확장하기 위해 클라이언트 코드에 영향을 주기 때문에 OCP를 위반하고, 주문 서비스 클라이언트(OrderServ.. 2023. 2. 2. [Spring] 스프링 핵심 원리 (기본) - 1. 객체 지향 설계와 스프링 1. 개괄 1.1 스프링부트(Spring Boot)란 스프링은 편하게 사용하기 위한 프레임워크이다. 본질적으로 스프링이란 자바(Java) 기반 프레임워크이기 때문에 '객체 지향' 특징을 잘 살려낼 수 있어 좋은 객체 지향 애플리케이션을 개발할 수 있도록 지원해주는 도구이다. 1.2 객체 지향 특징 객체 지향 프로그래밍의 의미는 컴퓨터 프로그램을 명령어 목록으로 보는 것이 아닌 여러 개의 독립적인 객체 단위로 보는 것을 말한다. 각 객체는 서로 메세지를 주고 받고 데이터를 처리할 수 있도록 '협력'하고, 프로그램을 갈아 끼우듯이 '유연'하고 '변경'이 용이하게 만들어주기 때문에 대규모 소프트웨어 개발에 많이 사용한다. 이를 위해, 가장 중요한 특성으로 추상화, 캡슐화, 상속성, 다형성을 갖는데, 이중에 '.. 2023. 2. 2. 이전 1 2 다음