SRP : 단일 책임 원칙한 클래스는 하나의 책임만 가져야 한다.중요한 기준은 변경 이다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것이다.OCP : 개방 - 폐쇄 원칙소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.LSP : 리
bean에 등록하기 위해서는 AppConfig 파일에 @Bean으로 등록해줘야 한다.Bean 등록 후 spring 실행시 초기 화면에 singleton으로 스프링 컨테이너에 등록된 것을 알 수 있다.이후 Bean 호출 하고 싶을 시 ApplicationContext를
클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다.웹 어플리케이션의 경우 여러 고객이 동시에 요청을 한다. 요청 마다 객체를 새로 생성 할 경우 메모리 낭비가 심해질 수 있다.결과 이런 경우를 방지하기 위해 나온 것이 싱글톤 패턴이다.싱글톤 패턴을
생성자 호출 시점에서 딱 1번만 호출되는 것이 보장된다.불변, 필수 의존관계에 사용생성자가 하나 있으면 @Autowired가 없어도 됌선택, 변경 가능성이 있는 의존 관계에 사용코드가 간결하지만 외부에서 변경이 불가능해서 테스트 하기 힘들다는 치명적인 단점이 있다.애플