OOP5 [Spring MVC - 핵심 원리 기본]컴포넌트 스캔과 의존관계 자동 주입 01. 컴포넌트 스캔과 의존관계 자동 주입 시작하기지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 등을 통해 스프링 빈을 등록만약 이렇게 등록해야 할 빈이 수백개인 경우 누락이 되는 문제가 발생함스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능 제공또한 의존 관계도 자동으로 주입하는 @Autowired 기능도 제공01-1. AutoAppConfig 생성@ComponentScan( excludeFilters = @ComponentScan.Filter( type = FilterType.ANNOTATION, classes = Configuration.class ))@Confi.. 2023. 4. 25. [Spring MVC - 핵심 원리 기본] 싱글톤 컨테이너 01. 웹 애플리케이션과 싱글톤대부분의 스프링 애플리케이션은 웹 어플리케이션이다. 물론 웹이 아닌 다른 개발도 가능스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다 (멀티 쓰레드)고객이 3번 요청을 하면 3개의 객체가 생성이 되는 상황?순수 DI를 사용 한다는 가정하에 얘기하는 것간단한 테스트 코드를 생성 해보자01-1. SingletonTestpackage hello.core.singleton;import hello.core.AppConfig;import hello.core.member.MemberService;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Di.. 2023. 4. 25. [Spring MVC - 핵심 원리 기본] 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발새로운 할인 정책을 확장 해보자악덕 기획자 : 서비스 오픈 직전에 할인 정책을 지금처럼 고정 금액 할인이 아니라 좀 더 합리적인 주문 금액당 할인하는 정률% 할인으로 변경하고 싶어요. 예를 들어서 기존 정책은 VIP가 10000원을 주문하든 20000원을 주문하든 항상 1000원을 할인했는데, 이번에 새로 나온 정책은 10%로 지정해두면 고객이 10000원을 주문시 1000원을 할인해주고, 20000원 주문시에 2000원을 할인해주는 거에요!순진 개발자 : 제가 처음부터 고정 금액 할인은 아니라고 했잖아요.악덕 기획자 : 애자일 소프트웨어 개발 선언 몰라요?? 계획을 따르기보다 변화에 대응하기를순진 개발자 : (하지만 난 유연한 설계가 가능하도록 객체지향 설계 원칙을 준수했지.. 2023. 4. 25. [Spring MVC - 핵심 원리 기본] 스프링 핵심 원리 이해1 - 예제 만들기 01. 프로젝트 생성01-1. 프로젝트 생성간단히 스프링 부트 프로젝트 생성프로젝트 생성 과정은 생략02. 비즈니스 요구사항과 설계02-1. 요구사항회원회원은 가입하고 조회할 수 있다회원은 일반, VIP 등급회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동 가능주문과 할인 정책회원은 상품 주문 가능회원 등급에 따라 할인 정책 적용 가능할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인 적용할인 정책은 변경 가능성이 높다지금은 스프링 없이 순수 자바로 진행03. 회원 도메인 설계03-1. 회원 도메인 요구사항회원 가입하고 조회 가능회원 일반, VIP 등급 존재회원 데이터는 자체 DB 구축 가능, 외부 시스템과 연동 가능회원 도메인 협력 관계클라이언트 → 서비스 → 인터페이스 ←.. 2023. 4. 25. [Spring MVC - 핵심 원리 기본] 객체지향 설계와 스프링 01. 자바 진영의 추운 겨울과 스프링의 탄생01-1. 스프링의 탄생 배경로드 존슨 : Spring F/W 게빈 킹 : HibernateSpring + JPA + 등등을 합친 종합 선물세트라 봐도 됨2000년대 초반 Java 진영의 EJB(Enterprise Java Beans) 기술이 존재하였다자바 진영의 표준당시에는 EJB 사용을 위해서는 수천만원짜리 서버가 필요 하였음어렵고, 복잡하고, 말 그래도 EJB 지옥이였다결국 POJO로 돌아가자는 말도 나옴EJB를 가지고 프로젝트를 진행 하였던 로드 존슨은 오픈 소스로 Spring을 내세운다게빈 킹 역시 EJB 엔티티빈 기술의 대체안으로 Hibernate 오픈 소스를 내세운다01-2. 스프링 역사유겐 휠러, 얀 카로프 : 오픈 소스 프로젝트 제안2002년 .. 2023. 4. 25. 이전 1 다음