본문 바로가기

Spring40

[Spring] 싱글톤 패턴 웹 애플리케이션과 싱글톤싱글톤 패턴 웹 애플리케이션과 싱글톤- 보통 여러 고객이 동시에 요청을 한다. 순수한 DI 컨테이너 테스트package hello.core.singleton;import hello.core.AppConfig;import hello.core.member.MemberService;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer(){ AppC.. 2025. 11. 20.
[Spring] BeanFactory와 ApplicationContext BeanFactory와 ApplicationContext BeanFactory- 스프링 컨테이너의 최상위 인터페이스이다.- 스프링 빈을 관리하고 조회하는 역할을 담당한다.- getBean()을 제공한다. ApplicationContext- BeanFactory 기능을 모두 상속받아서 제공한다.- 부가기능: 메세지 소스를 활용한 국제화 기능, 환경변수, 애플리케이션 이벤트, 편리한 리소스 조회 다양한 설정 형식 지원 - 자바 코드, XML 스프링 컨테이너는 다양한 형식의 설정 정보를 받아들일 수 있게 유연하게 설계되어 있다. - 애노테이션 기반 자바 코드 설정 사용AnnotationConfigApplicationContext - XML 설정 사용GenericXmlApplicationConte.. 2025. 11. 17.
[Spring] 스프링 빈 조회 스프링 컨테이너에서 스프링 빈을 찾는 조회 방법- ac.getBean(빈이름, 타입)- ac.getBean(타입)- ac.getBeansOfType() - 기본package hello.core.beanfind;import hello.core.AppConfig;import hello.core.member.MemberService;import hello.core.member.MemberServiceImpl;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.NoSuchBeanDefi.. 2025. 11. 12.
[Spring] 스프링 컨테이너 AppConfig 스프링 기반으로 변경package hello.core;import hello.core.Order.OrderService;import hello.core.Order.OrderServiceImpl;import hello.core.discount.DiscountPolicy;import hello.core.discount.FixDiscountPolicy;import hello.core.member.MemberRepository;import hello.core.member.MemberService;import hello.core.member.MemberServiceImpl;import hello.core.member.MemoryMemberRepository;import org.springfram.. 2025. 11. 9.