본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.예에엣날에는 자바당 정파 기술이라는 느낌으로 EJB(Enterprise Java Bean)이라는 기술을 사용해왔었다고 한다. 간단하게 말하자면 이 기술은 되게 고급 기술들을 편하게 지원하여주는 아주 종합
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.추상화캡슐화상속다형성객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.S(RP): 단일 책임 원칙O(CP): 개방-폐쇄 원칙L(SP): 리스코프 치환 원칙I(SP): 인터페이스 분리 원칙D(IP): 의존관계 역전 원칙한 클래스는 하나의 책임만 가져야 한다.하나의 책임이라는
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.아까 얘기했던 것처럼 기존의 방식처럼 진행을 하게 된다면은 OCP, DIP와 같은 좋은 객체지향의 설계의 원칙들을 지키기 어렵게 된다. 그렇지만 스프링에서는 이를 해결할 수 있도록 도와준다.스프링은 다음
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이번시간부터는 본격적으로 앞서 배운 좋은 객체지향설계를 바탕으로 하여 예제를 통하여서 어떻게 설계하는지 따라가보도록 하자. 회원회원을 가입하고 조회할 수 있다.회원은 일반과 VIP 두 가지 등급이 있다.
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.김영한님의 스프링 핵심 원리 기본편
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.주문과 할인 정책회원은 상품을 주문할 수 있다.회원 등급에 따라 할인 정책을 적용할 수 있다.할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수있다.)할
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.할인에 대한 정책을 바꿨다. 기존에는 1000원 고정 할인이었지만 이제는 비율에 따라 할인을 하여주기로 하였다. 그치만... 이게 벌써 변경이 일어난걸 보니 좋은 객체 지향설계인건 벌써 떠나간거 같다.
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 글에서 마지막에 이제 OCP, DIP를 지키기 위하여서 구현체를 의존하지 않게 하기 위하여서위의 주석 코드를 아래처럼 바꿔서 진행을 해야 한다고 하였다. 그러나 이렇게 진행할 경우 구현체가 없이 코
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 시간 관심사를 분리하기 위하여서 기획자의 역할인 AppConfig라는 클래스를 만들어 기획자의 입장에서 코드를 만들어봤지만... 이제는 코드를 효율적으로 다시 리팩토링을 해볼 시간이다.이게 위 코드
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 시간 AppConfig라는 기획자 역할의 코드를 리팩토링을 하였다. 이제는 본격적으로 새로운 할인 정책을 좋은 객체 지향 설계에 맞게 수정하고 이때까지 한 것에 대해 잠시 Refresh 하는 시간을
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 시간 여러 개념에 대해서 다시 정립하여보고 복습하는 시간을 약간 가졌었는데 실제로는 이때까지 우리가 작성한 코드들은 스프링을 사용하였다기보다는 사용하기 위하여서 개념들을 알아볼 수 있도록 순수 자바
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 시간에는 이제 본격적으로 스프링을 활용해보기위해서 우선적으로 코드로 스프링 컨테이너와 등록한 빈들을 가지고 간단한 코드를 만들어봤었는데 이번 시간부터 빈들이 어떻게 조회하고 확인할 수 있는지 알아보
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.그럼 어떻게 하면 될까? 이미 답은 나왔다. 빈 조회할때의 여러가지 방법이 있다고 하였는데 그럼 그냥 타입이 2개 이상이면 bean 이름으로 찾으면 된다. 그러니까 결국 bean 이름도 함께 지정하면서
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전에 정리하면서 BeanFactory와 ApplicationContext는 둘 다 스프링 컨테이너라고 할 수 있다고 하였는데 실질적으로 공부하면서 작성한 예제코드들은 거의 ApplicationConte
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.스프링 컨테이너에서는 여러가지 형식의 설정 정보를 받을 수 있도록 하였다고 한다.ex) 자바 코드, xml 등등 위 그림 처럼 각각보면 자바코드, xml, 그리고 뭐 xxx형식을 만들겠다고 한다면 그 형
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.SingleTon에 대해서 설명을 하기 이전 우선 이것이 왜 생겨나게됬는지에 대해서 한 번 알아보고 가보자. 다음과 같은 그림을 한 번 볼까? 지금까지처럼 이제 웹 어플리케이션 개발을 하게 될 경우 이제
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이때까지 앞에서 우리는 싱글톤에 대한 얘기를 하면서 스프링 컨테이너가 알아서 빈으로 등록된 객체들을 싱글톤으로 유지를 시켜준다고 했었다. 근데 궁금한게 이 코드를 보면 memberService와 orde
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이때까지 자바 코드나 Xml코드를 통하여서 설정 정보를 @Configuration을 통하여서 빈을 등록하고 하였는데 실제로는 이렇게 보다도 Bean이 대규모의 코드에서는 몇 개를 등록을 해야 하나? 라고
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전엔 @ComponentScan을 통하여 하위에 있는 모든 @Component들을 탐색하여 빈을 자동으로 등록하였는데 이를 대신하여 만약 내가 포함하고 싶은 어노테이션이 있고 제외하고 싶은 어노테이션이
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.우리가 이때까지 의존관계 주입하는 방법으로 지금까지는 우리가 생성자 주입을 사용을 했었는데 사실은 이거 하나만 있는 것은 아니고 다른 여러가지 방법이 있다고 한다.생성자 주입수정자(Setter) 주입필드
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.우선 이 목차를 시작하기 전에 강의에서는 롬복에 대한 사용법을 알려주신다. 그치만 이것은 이전에 velog에서 정리한 내용이 있으므로 롬복 관련 글 을 참고하고 더 필요한 내용이 있으면 검색을 더 해보자
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.기본적으로 스프링에서 Map, List를(여기에 Set도 활용할 수 있다.) 활용하면 자동적으로 스프링에서는 해당하는 타입의 Bean들을 다 끌어온다고 한다. 한 번 알아보자.이렇게 할 경우 자동적으로
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.ㅂ빈 생명주기에 대해서 알아가는 시간이다. 이것을 왜 알아야 하는지부터 알고 가야될 거 같다. 예전에 한 번 언급을 했었던 거 같은데 이게 데이터베이스 커넥션이라든지 네트워크 소켓처럼 뭐 미리 연결을 하
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 글에 이어서 빈 생명주기를 콜백하는 방법 2가지를 더 알아보자.설정 정보에 위 부제처럼 초기화, 종료 메서드를 지정할 수 있다고 하는데 한 번 코드를 보자.위 2가지 코드를 보면 이제 이전에는 In
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.빈 스코프란 그냥 번역한 그대로 빈이 존재할 수 있는 범위라는 것이다.그치만 우리가 알아야 할 것이 이때까지 우리는 이런 존재도 모르고 싱글톤으로 자동으로 설정되어있어서 우리는 빈이 그냥 컨테이너의 시작
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.오늘은 프로토타입 빈과 싱글톤 빈을 함께 사용할때 어떻게 되어지는지를 한 번 확인을 해보려고 한다. 근데 이렇게 사용할 경우 예상이 가능하긴 하지만 그렇지만 원하지 않는 결과물을 내는 경우가 있다고 한다
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 시간 싱글톤 빈과 프로토타입의 빈을 같이 사용하였을때 문제점을 알아봤는데 이를 해결하기위하여 어떻게 해야할 지 한 번 알아보자.싱글톤 빈이 프로토타입을 사용할때마다 계속 다시 요청하여주면 된다고 한
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 시간까지는 싱글톤, 프로토타입 빈에 대해서 계속 알아보았는데 이제는 웹 스코프에 대해서 한 번 알아보자.웹 스코프는 웹 환경에서만 동작을 한다.웹 스코프는 프로토타입과는 달리 스프링이 해당 스코프의
본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전까지는 ObjectProvider를 사용하여 주입시점을 특정하여 DL을 통해 주입을 시켰는데 이번에는 스코프 프록시 방식을 활용하여서 해결을 해보자.선언은 다음과 같이 하게 된다. 근데 여기 prox