Spring 3

Spring의 핵심 Concept는 무엇인가

들어가기에 앞서 Spring은 자바 언어 기반의 프레임워크입니다. 자바언어는 객체지향언어라는 주된 특징을 지니고 있습니다. 스프링은 객체지향언어가 가진 특징을 극대화시켜 주는 프레임워크입니다. 다시 말해 스프링은 좋은 객체지향 애플리케이션을 개발할 수 있도록 도와주는 프레임워크입니다. 좋은 객체지향이란 무엇인가? 해당 부분에 대해 간략하게 정리해 놓은 내용을 참고 부탁드립니다. 좋은 객체 지향 설계의 5가지 원칙 좋은 객체 지향 설계의 5가지 원칙 Robert Martin의 클린코드에서 좋은 객체 지향 설계의 원칙을 SOLID로 정의 하였다. S : SRP(Single Responsibility Principle) 단일 책임 원칙 O : OCP(Open/Closed Principle) 개방-폐쇄 원칙 L..

Spring 2023.05.23

Spring Bean의 생명주기

스프링 빈의 라이프 사이클은 다음과 같습니다다. 스프링 컨테이너 생성 => 스프링 빈 생성 => 의존관계 주입 => 초기화 콜백 => 사용 => 소멸 전 콜백 => 스프링 종료 바로 예제와 함께 스프링 빈의 라이프 사이클을 알아보려고 합니다. 다음과 같은 Client 가 있다고 가정합니다. [Client Code] public class Client{ private String clientName; public Client() { System.out.println("생성자 호출, clientName = " + clientName); init(); call("Client 초기화 메세지"); } public void setClientName(String clientName) { this.clientName ..

Spring 2023.04.21

싱글톤에 대해서

싱글톤이란 객체지향 프로그래밍에서 사용되는 디자인 패턴 중 하나로, 해당 클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 패턴이다. 현재 주제에서는 다음과 같은 class가 있다고 가정하고 설명을 해보려 한다. 싱글톤 패턴이 적용되지 않았을 때, 싱글톤 패턴이 적용되었을 때로 나누어 알아보려고 한다. AppConfiguration에서 DI(의존성 주입)을 하고 있는 상황. AppConfiguration은 다음과 같다. @Configuration public class AppConfiguration { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public Mem..

Spring 2023.04.10