전체 글

minari0920 님의 블로그 입니다.
·백엔드/SPRING
다양한 의존 관계 주입 방법생성자 주입이름 그대로 생성자를 통해서 의존 관계를 주입 받는 방법이다생성자 호출 시점에 딱 1번만 호출되는 것이 보장된다불변, 필수 의존 관계에 사용된다@Componentpublic class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository =..
·백엔드/SPRING
컴포넌트 스캔과 의존관계 자동 주입 시작하기지금까지 스프링 빈을 등록할 때, 자바의 코드의 @Bean이나 XML의 등을 통해서 설정정보에 직접 등록할 스프링 빈을 나열했었다. 하지만 이런 식으로 하다보면 수십, 수백 개의 빈을 일일이 등록하기도 귀찮고, 설정 정보도 커지고, 누락하는 문제도 발생할 수 있다. 그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다. 또한 의존관계도 자동으로 주입하는 @AutoWired 라는 기능을 제공한다 @Configuration@ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configur..
·백엔드/SPRING
웹 애플리케이션과 싱글톤웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다.스프링 없는 순수한 DI 컨테이너는 요청이 올 때마다 새로운 객체를 생성한다 요청이 올 때마다 새로운 객체를 생성하면 메모리 낭비가 너무 심해진다.이에 대한 해결방안은 해당 객체가 딱 1개만 생성되고 공유하도록 설계하는 방법이다.  싱글톤 패턴싱글톤 패턴은 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다//1. static 영역에 객체를 딱 1개만 생성해둔다.private static final SingletonService instance = new SingletonService();//2. public으로 열어서 객체 인스턴스가 필요하면 이 static 메서드를 통해서만 조회하도록 허용한다.public..
-minari-
개발 일지