Spring13 싱글톤 컨테이너 웹 애플리케이션과 싱글톤 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션 개발도 얼마든지 개발할 수 있다. 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 직접 만들었던 DI 컨테이너는 요청을 할 때마다 새로운 인스턴스를 만들어 반환한다. public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); MemberService memberService1 = appConfig.memberService(); MemberService me.. 2022. 10. 4. 스프링 컨테이너와 스프링 빈 ApplicationContext를 스프링 컨테이너라고 한다. 자바로만 개발했을 시점에서 개발자가 AppConfig라는 클래스를 통해 객체를 생성하고 DI 해주었지만 이제는 스프링 컨테이너를 사용한다. 스프링 컨테이너는 @Configuration이 붙은 AppConfig를 설정(구성)정보로 사용한다. 설정 정보 클래스인 AppConfig클래스 안에 @Bean이 적힌 메서드를 모두 호출한 뒤 반환된 객체를 스프링 컨테이너에 등록한다. 등록된 객체를 스프링 빈이라고 한다. 스프링 빈은 @Bean이 붙은 메서드 명을 스프링 빈의 이름으로 사용한다. 이전에 개발자가 AppConfig를 사용해 필요한 객체를 직접 조회했지만, 이제는 스프링 컨테이너를 통해 스프링 빈을 찾아야 한다. 스프링 컨테이너의 생성 과정 p.. 2022. 10. 3. JPA - 영속성관리 JPA에서 가장 중요한 2가지! 1. 객체와 관계형 데이터베이스 매핑하기 2. 영속성 컨텍스트 영속성 컨텍스트가 뭔데? 컨텍스트니까 환경, 문맥 뭐 이런 뜻인가? 영속성 컨텍스트는 "엔티티를 영구 저장하는 환경"이라는 뜻이다. JPA는 EntityManager.persist(entity);를 통하여 db에 저장하는 게 아닌 영속성 컨텍스트에 저장한다. 내가 이해한 방식대로 쉽게 설명하자면 영속성 컨텍스트는 쿼리 창고이다. 엔티티 매니저는 쿼리 창고를 관리하는 관리자라고 생각하면 쉽다. 쿼리 창고를 관리하는 관리자는 늘 한 명이다. 1:1 관계 엔티티의 생명주기 비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 영속(managed) 영속성 컨텍스트에 관리되는 상태 준영속(d.. 2022. 9. 30. 1. JPA 실습 - 프로젝트 설정 및 JPA 기초 개념 영한찡과 함께하는 즐거운 실습시간~ 프로젝트 생성 시 Maven 원형으로 하지 말고 새 프로젝트로 만들어준다. 다음으로 데이터 베이스는 실습용으로 최고인 H2 DB! http://www.h2database.com/ H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/s.. 2022. 9. 30. 이전 1 2 3 4 다음 반응형