BackEnd
-
[Spring] 싱글톤 컨테이너BackEnd/Spring 2022. 8. 2. 22:05
웹 애플리케이션과 싱글톤 - 대부분의 스프링 애플리케이션은 웹 애플리케이션 ( 웹이 아닌 애플리케이션 개발도 가능) - 웹 애플리케이션은 보통 여러 고객이 동시에 요청함 - 스프링 없는 순수한 자바코드 : AppConfig 요청 할 때마다 객체를 새로 생성함 - 메모리 낭비가 심함 - 해결방안 : 해당 객체 딱 1개만 생성하고 공유하도록 설계하자 --->>> 싱글톤 패턴 싱글톤 패턴 - 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 - 객체 인스턴스를 2개 이상 생성하지 못하도록 막자 : private 사용해서 외부에서 임의로 new 사용하지 못하게 막아야함 - 싱글톤 패턴을 사용하는 테스트 코드 : private으로 new 키워드를 막아두었기에 호출할 때 마다 같은 객체 인스턴스를 ..
-
[Spring] 예제에 객체 지향 원리 적용해보기BackEnd/Spring 2022. 7. 27. 21:10
앞서 만든 예제는 client 코드가 구체클래스, 인터페이스 모두에 의존함! 그래서 구체클래스를 변경할 때 클라이언트도 함계 변경해서 DIP를 위반함 역할과 구현을 제대로 나눴다고 보기 어려움 DIP를 위반하지 않도록 인터페이스에만 의존하도록 의존관계를 변경하자 아래처럼 구체적인 RateDiscountPolicy() 정의하는 코드를 없애자 이 상태에서는 null pointer exception 발생함 누군가가 이 클라이언트 orderServiceImpl 객체에 DiscountPolicy의 구현 클래스를 주입시켜줘야함 AppConfig : 애플리케이션의 전체 동작 방식을 구성(config)하기 위해, 구현 객체를 생성하고 연결하는 책임을 가지는 별도의 설정 클래스 1) 구현 객체를 생성함 2) 생성자를 통..
-
[Spring] 예제 만들기BackEnd/Spring 2022. 7. 22. 22:44
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com - Java 11 - IDE: IntelliJ * 스프링 없는 순수 자바로만 개발 진행 - 스프링 부트 스타터를 이용하여 스프링 프로젝트 생성 https://start.spring.io/ - 비즈니스 요구사항과 설계 1) 회원 도메인 설..