김영한님의 강의 들으면 앞서 서비스 테스트를 작성하는 방법을 배웠다이후 강의에 핵심 내용의 스프링빈과 의존관계에 대해서 배웠다그렇다면 여기서 스프링 빈은 과연 무엇인가정의로는 Spring 컨테이너가 관리하는 자바 객체를 Bean이라고 한다.그럼 여기서 드는 의문은 스프
💻 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술이전강의 에서 @Controller를 사용하고 이를 위해서 스프링 Bean 등록을 위한 컴포넌트 스캔, 자바 코드를 통한 DI(의존성 주입)을 해보았다.그럼 컨트롤러를 사용하는 웹 개발에서 자
작성할 테스트 코드의 서비스 함수이다.아래 서비스 함수는 회원 가입 및 회원 찾기 기능이다.회원의 서비스의 기능은 비지니스 로직의 이름으로회원 DB에 관련된 기능은 좀 더 개발스럽게 작명하는게 좋다.아래 코드를 기반해서 테스트 코드를 작성해보자영한님이 테스트 코드를 작
DB에 쿼리를 날려주고 커밋을 하지 않으면 DB에 적용 안됨 이게 오토 커밋이 있거나 수동 커밋을 하냐의 차이가 존재함 통합 테스트를 하면 중요한 문제가 테스트는 반복이 가능해야 한다는 점을 생각해야한다 만약에 오토 커밋이라 인서트, 셀렉트 콜을 하고 오토 커밋이 되
💻 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술실제 강의 링크순수 JDBC와 동일한 환경 설정은 기반으로 진행된다.스프링 JDBC 템플릿을 이용한다.MyBatis 같은 라이브버리는 JDBC API의 반복 코드를 제거한다.그러나 SQL 쿼리
💻 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술실제 강의 링크AOP 는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍쉽게 설명하면 핵심 로직, 공통 로직을 분리해서 모듈화 하는 것이다.예시를 들어보자면 우
💻 스프링 핵심 기술 - 기초해당 강의는 김영한님의 스프링 핵심 원리- 기초 강의를 수강하여 공부한 내용은 간략하게 기록하는 기록장스프링 핵심 원리 기초 강의(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A
💻 스프링 핵심 기술 - 기초해당 강의는 김영한님의 스프링 핵심 원리- 기초 강의를 수강하여 공부한 내용은 간략하게 기록하는 기록장스프링 핵심 원리 기초 강의(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A
💻 스프링 핵심 기술 - 기초해당 강의는 김영한님의 스프링 핵심 원리- 기초 강의를 수강하여 공부한 내용은 간략하게 기록하는 기록장스프링 핵심 원리 기초 강의(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A
회원을 가입하고 조회할 수 있다회원은 일반,VIP 두 종류가 있다회원 데이터는 자체 DB를 구축할 수 있고, 외부와 연동 가능(현재 시점 미정)회원은 상품을 주문 가능회원 등급에 따라 할인 정책을 적용 할인 정책은 모든 VIP는 1000원 할인 고정 금액 할인 적용(추
💻 스프링 핵심 기술 - 기초해당 강의는 김영한님의 스프링 핵심 원리- 기초 강의를 수강하여 공부한 내용은 간략하게 기록하는 기록장스프링 핵심 원리 기초 강의(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A
💻 스프링 핵심 기술 - 기초해당 강의는 김영한님의 스프링 핵심 원리- 기초 강의를 수강하여 공부한 내용은 간략하게 기록하는 기록장스프링 핵심 원리 기초 강의(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A
현재 AppConfig 소스코드이다.멤버 서비서 구현체, 오더서비스 구현체가 메모리 멤버 리포지토리와 Fixed 할인 정책을 사용하는 것을 알지만 이를 한눈에 알기 어렵다이는 기대하는 그림의 모습은 위와 같은데 위 그림처럼 서로의 저장소, 할인 정책이 분리되어 있지 않
제어의 역전 IoC(Inversion of Control)
AppConfig 및 MemberApp, OrderApp을 Spring 으로 전환해보자AppConfig 를 @Configuration으로나머지 구현 객체 인스턴스 할당하는 부분을 모두 @Bean으로 등록한다.그리고 각 Application 코드는 ApplicationC
ApplicationContext 는 스프링 컨테이너다ApplicationContext는 인터페이스이다. 즉 AnnotationConfigApplicationContext 가 인터페이스 구현체 라고 생각하면 될듯 (OCP)스프링 컨테이너를 부를떄 Bean팩토리, App
웹 애플리케이션 & 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생 웹 애플리케이션은 일반적으로 여러 고객이 동시에 요청 발생 순수한 DI 컨테이너 AppConfig에서는 멤버 서비스를 생성 요청을 하면 각 고객마다 객체를 생성하는 방식으로 되
지금까지는 스프링빈을 등록할때는 자바 코드의 @Bean을 통해서 설정 정보에 직접 스프링 빈을 등록했었다. 근데 이런 빈이 수백개 이상이 되면 해당 작업 자체가 지나친 반복작업 그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을