spring bean
![[Spring] 웹 애플리케이션과 싱글톤](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fcat6lz%2FbtrJO1BMKD1%2FAAAAAAAAAAAAAAAAAAAAANgunz0YevdkxycbhWqYrAwLRHoD127Bgn0LelY5qaE2%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DKchdHg2oizDIybJbR5bw9YPiEzM%253D)
[Spring] 웹 애플리케이션과 싱글톤
웹 애플리케이션과 싱글톤 - 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생하였다. - 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션 개발도 얼마든지 개발할 수 있다. - 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContatiner(){ AppConfig appConfig = new AppConfig(); //1. 조회: 호출할때마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2. 조회: 호출할때마다 객체를 생성 MemberService memberService2 = appConfi..
![[Spring] BeanFactory와 ApplicationContext](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fdijq6F%2FbtrJQdV24Wp%2FAAAAAAAAAAAAAAAAAAAAAJBi5sWWJ0oZwVY4nFNtGgvd7DbU9NhnL8vTrsTzeZro%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Da1A9LtDlbLQwzZ6BtBafD0ZSfag%253D)
[Spring] BeanFactory와 ApplicationContext
BeanFactory - 스프링 컨테이너의 최상위 인터페이스이다. - 스프링 빈을 관리하고 조회하는 역할을 담당한다. - getBean()을 제공한다. - 지금까지 우리가 사용했던 대부분의 기능은 BeanFactory가 제공하는 기능이다. Applicationcontext - BeanFactory기능을 모두 상속받아서 제공한다. - 빈을 관리하고 검색하는 기능을 BeanFactory가 제공해주는데, 그러면 둘의 차이는 애플리케이션을 개발할 때는 빈을 관리하고 조회하는 기능은 물론이고, 수 많은 부가기능이 필요하다. Applicationcontext가 제공하는 부가기능 MessageSource를 활용한 국제화 기능 - 예를 들어서 한국에서 들어오면 한국어로, 영어권에서 들어오면 영어로 출력한다. 환경변수 ..
![[Spring] 스프링 컨테이너와 빈](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb0Mlgd%2FbtrJREZHu1O%2FAAAAAAAAAAAAAAAAAAAAANbpDZ2Q_rhNNFJzWZ6iBLuxeNCRQyxcQifJYM91eFXu%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dwl7PYV6Jxe2kbuSvTi8IODB2thY%253D)
[Spring] 스프링 컨테이너와 빈
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); - ApplicationContext를 스프링 컨테이너라 하며 인터페이스이다. - 스프링 컨테이너는 XML을 기반으로 만들 수 있고, 어노테이션 기반의 자바 설정 클래스로 만들 수 있다. - 자바 설정 클래스를 기반으로 스프링 컨테이너를 만들면 new AnnotationConfigApplicationContext(AppConfig.class); 이 클래스는 ApplicationContext인터페이스의 구현체이다. Ps. 스프링 컨테이너를 부를 때 BeanFactory, ApplicationContext로 구분해서 이야기한다. Bean..