728x90 분류 전체보기152 6.컴포넌트 스캔 6.컴포넌트 스캔 목차 1.컴포넌트 스캔과 의존관계 자동주입 시작 2.탐색위치와 기본 스캔대상 3.필터 4.중복 등록과 충돌 1.컴포넌트 스캔과 의존관계 자동주입 시작 스프링 빈등록할때는 자바코드의 @Bean , xml 의 설정을 했다 하지만 이렇게 등록해야되는 빈이 많다면 ? 귀찮고 누락되는 일도 많아진다 스프링 설정정보가 없어도 자동으로 등록해주는 컴포넌트 스캔등장 Autowired 라는 의존관계도 자동으로 주입하는 기능도 필요하다 AutoAppConfig.java @Configuration @ComponentScan( excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = Configuration.class)) public class Au.. 2021. 1. 7. 3.영속성관리 - 내부동작방식 3.영속성관뢰 - 내부동작방식 목차 1.영속성 컨텍스트1 2.영속성 컨테스트2 3.플러시 4.준영속상태 5.정리 1.영속성 컨텍스트1 객체와 관계형 데이터베이스 매핑 영속성 컨텍스트 영속성 컨텍스트 엔티티를 영구 저장하는 환경 EntityManager.persist(entity) persist 는 DB 에 저장이 아닌 영속성 컨텍스트에 저장한다 논리적인 개념 , 눈에 보이지 않는다 , 엔티티 매니저를 통해서 접근 영속성 컨텍스트 비영속 : 새로운 상태 영속 : 관리하는 상태 준영속 : 분리된 상태 삭제 : 삭제된 상태 비영속성 상태 객체를 생성한 상태 Member member = new Member(); member.setId("memberId"); member.setUsername("회원"); 영속성 .. 2021. 1. 5. 5.싱글톤 컨테이너 5.싱글톤 컨테이너 목차 1.웹 애플리케이션 싱글톤 2.싱글톤 패턴 3.싱글톤 컨테이너 4.싱글톤 방식의 주의점 5.@Configuration 과 싱글톤 6.@Configuration 과 바이트코드 조작의 마법 1.웹 애플리케이션 싱클톤 웹 애플리케이션은 보통 고객이 동시에 요청한다 SingletonTest public class SingletonTest { @Test @DisplayName("스프링이 없는 순수한 DI 컨테이너") void pureContainer(){ AppConfig appConfig = new AppConfig(); //1.조회 MemberService memberService1 = appConfig.memberService(); //2.조회 MemberService memberS.. 2021. 1. 5. 2.JPA 시작하기 2.JPA 시작하기 목차 1.JPA 프로잭트 설정 2.JPA 애플리케이션 개발 1.JPA 프로잭트 설정 xml 설정 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 jpa 와 h2를 설정한다 persistence H2Dialect - h2의 방언 H2Dialect 을 변경하면 오라클 , mysql , mariadb 등등을 사용할수 있다 resources -> META-INF -> persistence.xml 2.JPA 애플리케이션 개발 Member @Entity @Table("Member") public class Member { @Id @Column("id") private Long id; private Strin.. 2021. 1. 4. 1.JPA 소개 1.JPA 소개 목차 1.SQL 중심적인 개발의 문제점 2.JPA 소개 1.SQL 중심적인 개발의 문제점 무한반복 과 지루한 코드 객체 그래프 탐색이 안된다 계층 분할이 쉽지가 않다 데이터 접근 계층을 사용해서 SQL 을 숨겨도 어쩔수 없이 DAO 를 열어서 SQL 이 실행되는지 확인해야한다 엔티티를 신뢰할수 없다 2.JPA 소개 ORM 객체 관계 매핑 객체는 객체대로 설계 , 관계형 DB는 관계형 DB 대로 설계 ORM 프레임워크가 중간에서 매핑 EJB -> 하이버네이트 -> JPA JPA 를 사용해야 되는 이유 SQL 개발 -> 객체중심 개발 생산성 저장 : persist(member) 조회 : find(memberId) 수정 : set("") - 원하는 값을 넣으면 알아서 Update 해준다 삭제 .. 2021. 1. 4. 4.스프링 컨테이너와 스프링 빈 4.스프링 컨테이너와 스프링 빈 목차 1.스프링 컨테이너 생성 2.컨테이너에 등록된 모든 빈 조회 3.스프링빈 조회(기본) 4.스프링빈 조회(동일한 타입이 둘이상) 5.스프링빈 조회(상속관계) 6.BeanFactory 와 ApplicationContext 7.다양한 설정 형식 지원 - 자바코드 , XML 8.스프링 빈 설정 메타정보 - BeanDefinition 1.스프링 컨테이너 생성 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext - 스프링 컨테이너 , 인터페이스 AnnotationConfigApplicationContex.. 2021. 1. 4. 이전 1 ··· 17 18 19 20 21 22 23 ··· 26 다음 728x90