Spring Framework & JPA(주말주간(토/일))
|
교육개요 | 실무, 실습 위주의 교육 입니다! 최근 개발에서 많이 사용되는 Spring Framework, Spring Boot, Spring Data JPA, Query Method, @Query, NamedQuery, Querydsl 기술에 대해 철저한 이론/실습을 통해 기본기를 다진 후 실무 적응력을 높이기 위한 실전 프로젝트를 통해 즉시 실무에 적용가능 할 수 있도록 진행하는 스파르타식 교육 과정 입니다. 스프링 프레임워크의 DI, AOP, JDBC, WEB MVC등 기반을 학습 후 객체지향 모델링, 엔티티 매핑, Repository 작성, Query Method, @Query, Querydsl을 통해 DB의 SQL이 메소드 기반의 타입 세이프한 방식, JPQL로 어떻게 작성되는지에 대한 이해도를 넓히고 실무에서 사용가능할 수 있도록 지도하는 코스이며, 실무SQL이 어떻게 Querydsl, Query Method, NamedQuery, @Query를 통해 만들 수 있는지 다양한 예문을 통해 학습할 수 있습니다. 이론 30~40%, 실습 60~70% 진행되는 실무/실습 위주의 교육 입니다. |
---|---|
수료조건 | 출석률 80%이상 |
교육목표 | Spring Data JPA 이해 객체모델링의 이해 엔티티 작성 방법에 대한 이해 객체 연관관계, 방향성, mappedBy의 이해 JPA Repository에 대한 이해 다양한 예문을 통한 QueryDSL의 이해 JPQL, Query Method, @Query, NamedQuery 사용법 이해 SQL을 Spring Data JPA에서 어떻게 만들어 내는지에 대한 이해 JPA 실무프로젝트의 이해 및 작성 |
교육대상 | 자바 웹 개발자 초보 개발자 자바기반 웹 개발을 원하는 신입 개발자 |
Spring Framework | 1. Spring Framework 1.1 Spring IoC(Inversion of Control) 1.1.1 Ioc Container 분류 1.1.2 BeanFactory, ApplicationContext 1.1.3 Lazy-Loading, Pre-Loading 1.1.4 Spring Ioc 실습(XML 기반, 인터페이스, 세터주입) 1.1.5 Spring Ioc 실습(어노테이션기반, 인터페이스, 세터주입) 1.1.6 DI와 관련된 어노테이션 1.1.7 Context Configuration Annotations 1.1.8 세터 주입(Setter Injection) – XML 기반 1.1.9 세터 주입(Setter Injection) – 어노테이션 기반 1.1.10 생성자 주입(Constructor Injection) – XML 기반 1.1.11 생성자 주입(Constructor Injection) – 어노테이션 기반 1.1.12 메소드 주입(Method Injection), Method Replace 1.1.13 Method Injection(Getter Injection) 1.1.14 Simple Value Injection 1.1.15 ref 태그를 이용한 Value Injection(ref local, ref bean, id, name의 차이) 1.1.16 스프링에서 XML 설정 파일의 분리 1.2 Spring AOP(Aspect Oriednted Programming) 1.2.1 AOP 개요 1.2.2 AOP HelloWorld 1.2.3 AOP 충고(Advice) 1.2.4 프로그래밍적인 방법을 통한 AOP 구현(ProxyFactory 이용) 1.2.5 포인트컷(Pointcut) 1.2.6 ProxyFactoryBean을 이용한 선언적 AOP 구현 1.2.7 Schema-Based Spring AOP( 네임스페이스 이용) 1.2.8 @AspectJ Annotation을 이용한 AOP 1.2.9 스프링 선언적 AOP에 대한 고려사항(@AspectJ vs XML) 1.3 Spring JDBC 1.3.1 기존 JAVA JDBC와 Spring JDBC의 비교 1.3.2 Spring JDBC에서 DataSource 취득하는 방법 1.3.3 Spring JDBC에서 DB 접근하는 방법 1.3.4 Spring JDBC에서 DB 접근하는 방법 - jdbcTemplate 1.3.5 Spring JDBC에서 DB 접근하는 방법 – NamedParameterJdbcTemplate 1.3.6 Spring JDBC에서 DB 접근하는 방법 – SimpleJdbcTemplate 1.3.7 Spring JDBC에서 DB 접근하는 방법 – SqlUpdate 1.4 Spring WEB MVC 1.4.1 Spring Web MVC - DispatcherServlet 1.4.2 Spring Web MVC 기본 흐름 1.4.3 Spring Web MVC - ContextLoaderListener 1.4.4 @Controller, @RequestMapping을 이용한 컨트롤러 매핑 1.4.5 Spring MVC HelloWorld를 자바설정(Java Config)으로 변경 1.4.6 컨트롤러 메소드 파라미터(Controller method argument types) 1.4.7 컨트롤러 메소드 리턴 타입(method return types) 1.4.8 자동추가되는 모델 객체 1.4.9 Spring Web MVC Simple 예제 1.4.10 @RequestHeader를 이용한 요청처리 1.4.11 @RequestBody를 이용한 요청 처리 1.4.12 @ExceptionHandler, @ControllerAdvice를 이용한 컨트롤러 예외처리 1.4.13 @CookieValue를 이용한 쿠키처리 1.4.14 Flash Attribute(RedirectAttributes, FlashMap) 1.4.15 @ModelAttribute를 이용한 컨트롤러 메소드 매핑 1.4.16 @SessionAttributes를 이용하여 model 객체를 세션에 저장하기 1.4.17 @ModelAttribute, @SessionAttibutes 컨트롤러 메소드 매핑 1.4.18 Spring WEB MVC를 이용한 멀티파일 업로드 1.4.19 Spring WEB MVC쇼핑카트(@SessionAttibutes, @ModelAttribute) 1.4.20 Spring WEB MVC View, ViewResolver 1.4.22 Spring MVC Interceptor |
---|---|
MyBatis | - 개요 및 소개 - 개발환경 설정 및 설치 - SQL Mapper란 - sqlMapConfig 이해 및 환경설정 - SqlSessionFactory, Mapper Interface - SqlSessionFactoryBean - @MapperScan - MapperScannerConfigurer - SqlSessionTemplate - SqlSessionTemplate vs SqlSession - Spring, MyBatis 연동 - SQL의 실행(Insert/update/delete) 이해와 실습 - 고급 쿼리 사용방법의 이해와 실습 - Spring MyBatis 응용예제 작성 - Spring, MyBatis3 Transaction이론/실습 |
JPA, Spring Data JPA, Querydsl | 1. JPA 1-1. JPA 개요 1-1-1. 퍼시스턴스 기술의 변천 1-1-2. JPA란? 1-1-3. 엔티티(Entity) 1-1-4. 엔티티 매니저(Entity Manager) 1-1-5. 영속성 컨텍스트(Persistence Context) 1-2. Spring Data JPA Simple Example 2. 엔티티 매핑(Entity Mapping) 2-1. 엔티티 매핑 어노테이션 2-1-1. @Entity, @Table, @Column 2-1-2. 엔티티 속성 매핑(@Basic) 2-1-3. 엔티티 속성 매핑(@Enumerated) 2-1-4. 엔티티 속성 매핑(@Lob) 22 2-1-5. 엔티티 속성 매핑(@Temporal) 2-1-6. 엔티티 속성 매핑(@Transient) 2-1-7. 엔티티 속성 매핑(@Access) 2-2. 엔티티 매핑(Entity Mapping) 2-2-1. 식별자 매핑(@Id, @IdClass) 2-2-2. 식별자 매핑(@EmbeddedId, @Embeddedable) 2-2-3. 임베디드 타입(@Embedded, @AttributeOverride) 2-2-4. 식별자 자동 생성(@GeneratedValue) 2-3. 롬복(lombok)소개 2-4. 엔티티 매핑(Entity Mapping) – 연관관계 2-4-1. 복합키와 비식별 관계 2-4-2. 복합키와 식별 관계 2-4-3. N대1 단방향 2-4-4. N대1 양방향 2-4-5. @OneToMany 2-4-6. mappedBy 2-4-7. N대1 양방향 실습 2-4-8. 1대N 양방향 2-4-9. 1대1 단방향, 주테이블에 외래키 2-4-9-1. 1대1 단방향, 주테이블에 외래키 실습 2-4-10. 1대1 양방향, 주테이블에 외래키 2-4-10-1. 1대1 양방향, 주테이블에 외래키 실습 2-4-11. 1 : 1 단방향, 대상테이블에 외래키(JPA 1.0) 2-4-12. 1 : 1 단방향, 대상테이블에 외래키(JPA 2.0) 2-4-13. 1 : 1 단방향 식별관계, 대상테이블에 외래키 2-4-13-1. 1 : 1 단방향 식별관계, 대상테이블에 외래키 실습 2-4-14. M : N 연관관계(다 : 다) 2-4-14-1. M : N(다 : 다) 관계에서 List 컬렉션에 @OrderColumn 사용하기 2-4-15. 상속 관계 매핑 2-4-16. 영속성 전이 2-4-17. 영속성 전이(CASCADE 저장, 삭제) 2-4-18. 영속성 전이(orphanRemoval 속성) 2-4-19. EAGER, LAZY 로딩 2-4-20. 패치전략(EAGER, LAZY) – 프록시 3. JPA Query(JPQL, Criteria Query, Native SQL, Querydsl) 3-1. JPA Query 기본 3-1-1. JPA쿼리 개요 3-1-2. JPA쿼리(JPQL, Criteria 쿼리, Querydsl, Native Query 예) 3-1-2. JPA쿼리( 네이티브 쿼리, Native Query) 3-2. JPA쿼리(Querydsl4.X) 3-2-1. Querydsl4.X – JPAQuery, JPAQueryFactory를 위한 메이븐 설정 3-2-2. Querydsl4.X – 쿼리타입(Query Type) 정적필드 접근 3-2-3. Querydsl4.X – JPAQueryFactory를 이용한 JPAQuery 인스턴스 생성 3-2-4. Querydsl4.X – 조회, 수정, 삭제, update, delete 배치쿼리, JPADeleteClause, JPAUpdateClause 3-2-5. Querydsl4.X – distinct , where절(and, or), 정렬 3-2-6. Querydsl4.X – 그룹핑, 페이징 및 정렬, 조인 3-2-7. Querydsl4.X – 서브쿼리, JPAExpressions 3-2-8. Querydsl4.X – 프로젝션(Projection)과 결과반환 3-2-9. Querydsl4.X – 쿼리결과를 특정빈에 담기(Bean population) 3-2-10. Querydsl4.X – Native SQL(JPASQLQuery) 4. Spring Data JPA 4-1. Spring Data JPA란? 4-2. Spring Data JPA Repository 4-3. Spring Data JPA Query Method 4-4. Spring Data JPA Query Method 구문 4-4-1. Spring Data JPA Query, Spring Boot, NamedQuery 실습 4-5. Spring Data JPA, Query Method(@Query) 4-6. Spring Data JPA Query Method, 페이징과 정렬 4-7. Spring Data JPA Query Method, 사용자정의 Repository 4-8. Spring Data Repository Interface 4-9. Spring Data JPA, Spring Boot, Querydsl실습, Query Method, @Query, @NamedQuery, 페이징, 서브쿼리, 조인) 4-10. Spring Data JPA, Spring Boot, Querydsl실습 – JPAQueryFactory 5. Spring Data JPA, Querydsl 5-1. SQLQueryFactory(오라클/MySQL에서 쿼리타입 생성을 위한 MAVEN 설정) 5-2. SQLQueryFactory를 위한 Query Type, Configuration 생성하기 5-3. 스프링부트에서 SQLQueryFactory생성 및 쿼리사용 예문 5-4. SQLQueryFactory(쿼리, 조인,orderby,groupBy, DML,DML배치쿼리,partitionBy, over) 5-5. SQLQueryFactory실습,Spring Boot/마리아DB(메이븐설정, 서브쿼리, 조인,orderby,groupBy, insert/update 배치쿼리,partitionBy, over 5-6. Querydsl for Oracle 5-6-1. Querydsl for Oracle(ROWNUM, 조인) 5-6-2. Querydsl for Oracle(With, 조인, GroupBy) 5-6-3. Querydsl for Oracle(시퀀스, Sequence) 5-6-4. Querydsl for Oracle(Distinct, IN, OR) 5-6-5. Querydsl for Oracle(UnionAll, With, Count) 5-6-6. Querydsl for Oracle(Like, Between) 5-6-7. Querydsl for Oracle(NVL, SelfJoin, LeftJoin) 5-6-8. Querydsl for Oracle(DECODE, CASE) 5-6-9. Querydsl for Oracle(서브쿼리, SubQuery, GroupBy, Having) 5-6-10. Querydsl for Oracle(오라클 계층쿼리) 5-6-11. Querydsl for Oracle(인라인뷰, InlineView) 5-6-12. Querydsl for Oracle(스칼라 서브쿼리, Scalar SubQuery) 5-6-13. Querydsl for Oracle(Exists) 5-6-14. Querydsl for Oracle(Rank, Dense_Rank, PartitionBy, OrderBy, 칼럼별칭으로 정렬) |