이걸 왜 알아야할까?단순히 스프링을 사용하는건 어렵지 않다.. 찾아보면 되니까 하지만 스프링이 제공하는 핵심가치와 원리를 제대로 이해할려면 DI.. IOC...등등 SOILD 객체지향원칙 등을 이해를 해야 스프링의 가치를 파악할수 있다.객체 지향 설계와 스프링스프링 핵
어떤 영역에서 필요로하는 속성이나 행동을 추출하는 작업불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화하는 것데이터(속성, 필드)와 데이터를 다루는 방법(메서드)을 결합시켜 묶는 것특정 객체가 독립적으로 역할을 제대로 수행하기 위해 필요한
클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리SRP : 단일 책임 원칙OCP : 개방 폐쇄 원칙LSP : 리스코프 치환 원칙ISP : 인터페이스 분리 원칙DIP : 의존관계 역전 원칙Single Responsibility Principle한
기존의 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 개발자 입장에서는 자연스러운 흐름이다.내가 개발을 하다가 필요한 객체가 있으면 new하고 또 그안에서
스프링에서 사용할 객체들을 담고있는 것.등록된 스프링 빈을 생성하고 의존관계를 주입하고 생명주기를 관리해준다.AppConfigAppConfig에 설정을 구성한다는 뜻의 @Configuration을 붙여준다.각 메서드에 @Bean을 붙여준다. 이렇게 하면 스프링 컨테이너
스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션도 얼마든지 개발할 수 있다.웹 애플리케이션은 보통 여러 고객이 동시에 요청한다.img스프링 없는 순수한 DI 컨테이너 AppC
지금까지는 스프링 빈을 등록할 때, 자바 코드의 @Bean이나 XML의 <Bean> 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다.예제에서는 몇 개 안되었지만, 이렇게 등록해야할 스프링 빈이 수십, 수백개가 된다면 일일이 등록하기도 힘들고, 설정 정보
막상 개발을 해보면, 대부분이 다 불변이고, 그래서 다음과 같이 생성자에 final 키워드를 사용하게 된다. 그런데 생성자도 만들어야 하고, 주입 받은 값을 대입하는 코드도 만들어야 하고…코드가 너무 길다..!!필드 주입처럼 좀 편리하게 사용하는 방법은 없을까? 하고
의도적으로 정말 해당 타입의 스프링 빈이 다 필요한 경우도 있다.예를 들어서 할인 서비스를 제공하는데, 클라이언트가 할인의 종류(rate, fix)를 선택할 수 있다고가정해보자. 스프링을 사용하면 소위 말하는 전략 패턴을 매우 간단하게 구현할 수 있다.
스프링 빈이 생성되거나 죽기 일보직전에 스프링이 빈안에 있는 메서드를 호출하는 기능데이터 베이스 커넥션 풀(스프링을 통해 이러한 초기화 작업과 종료 작업을 어떻게 진행하는지 알아볼 것이다.간단하게 외부 네트워크에 미리 연결하는 객체를 하나 생성한다고 가정해보자. 실제로
지금까지 우리는 스프링 빈이 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때 까지 유지된다고 학습했다.이것은 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다.스코프는 번역 그대로 빈이 존재할 수 있는 범위를 뜻한다.스프링 빈은 다음과 같은