이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1장 IoC 컨테이너와 DI
1.1 IoC 컨테이너: 빈 팩토리와 애플리케이션 컨텍스트 1.1.1 IoC 컨테이너를 이용해 애플리케이션 만들기 POJO 클래스 설정 메타정보 1.1.2 IoC 컨테이너의 종류와 사용 방법 StaticApplicationContext GenericApplicationContext GenericXmlApplicationContext WebApplicationContext 1.1.3 IoC 컨테이너 계층구조 부모 컨텍스트를 이용한 계층구조 효과 컨텍스트 계층구조 테스트 1.1.4 웹 애플리케이션의 IoC 컨테이너 구성 웹 애플리케이션의 컨텍스트 계층구조 웹 애플리케이션의 컨텍스트 구성 방법 루트 애플리케이션 컨텍스트 등록 서블릿 애플리케이션 컨텍스트 등록 1.2 IoC/DI를 위한 빈 설정 메타정보 작성 1.2.1 빈 설정 메타정보 빈 설정 메타정보 항목 1.2.2 빈 등록 방법 XML: 《bean》 태그 XML: 네임스페이스와 전용 태그 자동인식을 이용한 빈 등록: 스테레오타입 애노테이션과 빈 스캐너 자바 코드에 의한 빈 등록: @Configuration 클래스의 @Bean 메소드 자바 코드에 의한 빈 등록: 일반 빈 클래스의 @Bean 메소드 빈 등록 메타정보 구성 전략 1.2.3 빈 의존관계 설정 방법 XML: 《property》, 《constructor-arg》 XML: 자동와이어링 XML: 네임스페이스와 전용 태그 애노테이션: @Resource 애노테이션: @Autowired/@Inject @Autowired와 getBean(), 스프링 테스트 자바 코드에 의한 의존관계 설정 빈 의존관계 설정 전략 1.2.4 프로퍼티 값 설정 방법 메타정보 종류에 따른 값 설정 방법 PropertyEditor와 ConversionService 컬렉션 Null과 빈 문자열 프로퍼티 파일을 이용한 값 설정 1.2.5 컨테이너가 자동등록하는 빈 ApplicationContext, BeanFactory ResourceLoader, ApplicationEventPublisher systemProperties, systemEnvironment 1.3 프로토타입과 스코프 1.3.1 프로토타입 스코프 프로토타입 빈의 생명주기와 종속성 프로토타입 빈의 용도 DI와 DL 프로토타입 빈의 DL 전략 1.3.2 스코프 스코프의 종류 스코프 빈의 사용 방법 커스텀 스코프와 상태를 저장하는 빈 사용하기 1.4 기타 빈 설정 메타정보 1.4.1 빈 이름 XML 설정에서의 빈 식별자와 별칭 애노테이션에서의 빈 이름 1.4.2 빈 생명주기 메소드 초기화 메소드 제거 메소드 1.4.3 팩토리 빈과 팩토리 메소드 1.5 스프링 3.1의 Ioc 컨테이너와 DI 1.5.1 빈의 역할과 구분 빈의 종류 컨테이너 인프라 빈과 전용 태그 빈의 역할 1.5.2 컨테이너 인프라 빈을 위한 자바 코드 메타정보 IoC/DI 설정 방법의 발전 자바 코드를 이용한 컨테이너 인프라 빈 등록 1.5.3 웹 애플리케이션의 새로운 IoC 컨테이너 구성 1.5.4 런타임 환경 추상화와 프로파일 환경에 따른 빈 설정정보 변경 전략과 한계 런타임 환경과 프로파일 활성 프로파일 지정 방법 프로파일 활용 전략 1.5.5 프로퍼티 소스 프로퍼티 스프링에서 사용되는 프로퍼티의 종류 프로파일의 통합과 추상화 프로퍼티 소스의 사용 @PropertySource와 프로퍼티 파일 웹 환경에서 사용되는 프로퍼티 소스와 프로퍼티 소스 초기화 오브젝트 1.6 정리 2장 데이터 액세스 기술 2.1 공통 개념 2.1.1 DAO 패턴 DAO 인터페이스와 DI 예외처리 2.1.2 템플릿과 API 2.1.3 DataSource 학습 테스트와 통합 테스트를 위한 DataSource 오픈소스 또는 상용 DB 커넥션 풀 JDNI/WAS DB 풀 2.2 JDBC 2.2.1 스프링 JDBC 기술과 동작원리 스프링의 JDBC 접근 방법 스프링 JDBC가 해주는 작업 2.2.2 SimpleJdbcTemplate SimpleJdbcTemplate 생성 SQL 파라미터 SQL 실행 메소드 SQL 조회 메소드 SQL 배치 메소드 2.2.3 SimpleJdbcInsert SimpleJdbcInsert 생성 SimpleJdbcInsert 실행 2.2.4 SimpleJdbcCall SimpleJdbcCall 생성 SimpleJdbcCall 실행 2.2.5 스프링 JDBC DAO 2.3 iBatis SqlMaps 2.3.1 SqlMapClient 생성 iBatis 설정파일과 매핑파일 SqlMapClient를 위한 SqlMapClientFactoryBean 등록 2.3.2 SqlMapClientTemplate 등록, 수정, 삭제 조회 SqlMapClientCallback 2.4 JPA 2.4.1 EntityManagerFactory 등록 LocalEntityManagerFactoryBean JavaEE 5 서버가 제공하는 EntityManagerFactory LocalContainerEntityManagerFactoryBean 트랜잭션 매니저 2.4.2 EntityManager와 JpaTemplate JpaTemplate 애플리케이션 관리 EntityManager와 @PersistenceUnit 컨테이너 관리 EntityManager와 @PersistenceContext @PersistenceContext와 확장된 퍼시스턴스 컨텍스트 JPA 예외 변환 JPA 예외 변환 AOP 2.5 하이버네이트 2.5.1 SessionFactory 등록 LocalSessionFactoryBean AnnotationSessionFactoryBean 트랜잭션 매니저 2.5.2 Session과 HibernateTemplate HibernateTemplate SessionFactory.getCurrentSession() 2.6 트랜잭션 2.6.1 트랜잭션 추상화와 동기화 PlatformTransactionManager 트랜잭션 매니저의 종류 2.6.2 트랜잭션 경계설정 전략 코드에 의한 트랜잭션 경계설정 선언적 트랜잭션 경계설정 프록시 모드: 인터페이스와 클래스 AOP 방식: 프록시와 AspectJ 2.6.3 트랜잭션 속성 트랜잭션 전파: propagation 트랜잭션 격리수준: isolation 트랜잭션 제한시간: timeout 읽기전용 트랜잭션: read-only, readOnly 트랜잭션 롤백 예외: rollback-for, rollbackFor, rollbackForClassName 트랜잭션 커밋 예외: no-rollback-for, noRollbackFor, noRollbackForClassName 2.6.4 데이터 액세스 기술 트랜잭션의 통합 트랜잭션 매니저별 조합 가능 기술 ORM과 비 ORM DAO를 함께 사용할 때의 주의사항 2.6.5 JTA를 이용한 글로벌/분산 트랜잭션 독립형 JTA 트랜잭션 매니저 WAS 트랜잭션 매니저의 고급 기능 사용하기 2.7 스프링 3.1의 데이터 액세스 기술 2.7.1 persistence.xml 없이 JPA 사용하기 2.7.2 하이버네이트 4 지원 LocalSessionFactoryBean LocalSessionFactoryBuilder 2.7.3 @EnableTransactionManager 295 2.8 정리 3장 스프링 웹 기술과 스프링 MVC 3.1 스프링의 웹 프레젠테이션 계층 기술 3.1.1 스프링에서 사용되는 웹 프레임워크의 종류 스프링 웹 프레임워크 스프링 포트폴리오 웹 프레임워크 스프링을 기반으로 두지 않는 웹 프레임워크 3.1.2 스프링 MVC와 DispatcherServlet 전략 DispatcherServlet과 MVC 아키텍처 DispatcherServlet의 DI 가능한 전략 3.2 스프링 웹 애플리케이션 환경 구성 3.2.1 간단한 스프링 웹 프로젝트 생성 루트 웹 애플리케이션 컨텍스트 서블릿 웹 애플리케이션 컨텍스트 등록 스프링 웹 프로젝트 검증 3.2.2 스프링 웹 학습 테스트 서블릿 테스트용 목 오브젝트 테스트를 위한 DispatcherServlet 확장 ConfigurableDispatcherServlet을 이용한 스프링 MVC 테스트 편리한 DispatcherServlet 테스트를 위한 AbstractDispatcherServletTest 3.3 컨트롤러 3.3.1 컨트롤러의 종류와 핸들러 어댑터 Servlet과 SimpleServletHandlerAdapter HttpRequestHandler와 HttpRequestHandlerAdapter Controller와 SimpleControllerHandlerAdapter AnnotationMethodHandlerAdapter 3.3.2 핸들러 매핑 BeanNameUrlHandlerMapping ControllerBeanNameHandlerMapping ControllerClassNameHandlerMapping SimpleUrlHandlerMapping DefaultAnnotationHandlerMapping 기타 공통 설정정보 3.3.3 핸들러 인터셉터 HandlerInterceptor 핸들러 인터셉터 적용 3.3.4 컨트롤러 확장 커스텀 컨트롤러 인터페이스와 핸들러 어댑터 개발 3.4 뷰 3.4.1 뷰 InternalResourceView와 JstlView RedirectView VelocityView, FreeMarkerView MarshallingView AbstractExcelView, AbstractJExcelView, AbstractPdfView AbstractAtomFeedView, AbstractRssFeedView XsltView, TilesView, AbstractJasperReportsView MappingJacksonJsonView 3.4.2 뷰 리졸버 InternalResourceViewResolver VelocityViewResolver, FreeMarkerViewResolver ResourceBundleViewResolver, XmlViewResolver, BeanNameViewResolver ContentNegotiatingViewResolver 3.5 기타 전략 3.5.1 핸들러 예외 리졸버 AnnotationMethodHandlerExceptionResolver ResponseStatusExceptionResolver DefaultHandlerExceptionResolver SimpleMappingExceptionResolver 3.5.2 지역정보 리졸버 3.5.3 멀티파트 리졸버 RequestToViewNameTranslator 3.6 스프링 3.1의 MVC 3.6.1 플래시 맵 매니저 전략 플래시 맵 플래시 맵 매니저 플래시 맵 매니저 전략 3.6.2 WebApplicationInitializer를 이용한 컨텍스트 등록 루트 웹 컨텍스트 등록 서블릿 컨텍스트 등록 3.7 정리 4장 스프링 @MVC 4.1 @RequestMapping 핸들러 매핑 4.1.1 클래스/메소드 결합 매핑정보 @RequestMapping 애노테이션 타입 레벨 매핑과 메소드 레벨 매핑의 결합 메소드 레벨 단독 매핑 타입 레벨 단독 매핑 4.1.2 타입 상속과 매핑 매핑정보 상속의 종류 제네릭스와 매핑정보 상속을 이용한 컨트롤러 작성 4.2 @Controller 4.2.1 메소드 파라미터의 종류 HttpServletRequest, HttpServletResponse HttpSession WebRequest, NativeWebRequest Locale InputStream, Reader OutputStream, Writer @PathVariable @RequestParam @CookieValue @RequestHeader Map, Model, ModelMap @ModelAttribute Errors, BindingResult SessionStatus @RequestBody @Value @Valid 4.2.2 리턴 타입의 종류 자동 추가 모델 오브젝트와 자동생성 뷰 이름 ModelAndView String void 모델 오브젝트 Map/Model/ModelMap View @ResponseBody 4.2.3 @SessionAttributes와 SessionStatus 도메인 중심 프로그래밍 모델과 상태 유지를 위한 세션 도입의 필요성 @SessionAttributes SessionStatus 등록 폼을 위한 @SessionAttributes 사용 스프링 목 오브젝트와 AbstractDispatcherServletTest를 이용해 세션 테스트 만들기 4.3 모델 바인딩과 검증 4.3.1 PropertyEditor 디폴트 프로퍼티 에디터 커스텀 프로퍼티 에디터 @InitBinder WebBindingInitializer 프로토타입 빈 프로퍼티 에디터 4.3.2 Converter와 Formatter Converter ConversionService Formatter와 FormattingConversionService 바인딩 기술의 적용 우선순위와 활용 전략 4.3.3 WebDataBinder 설정 항목 allowedFields, disallowedFields requiredFields fieldMarkerPrefix fieldDefaultPrefix 4.3.4 Validator와 BindingResult, Errors Validator JSR-303 빈 검증 기능 BindingResult와 MessageCodeResolver MessageSource 4.3.5 모델의 일생 HTTP 요청으로부터 컨트롤러 메소드까지 컨트롤러 메소드로부터 뷰까지 4.4 JSP 뷰와 form 태그 4.4.1 EL과 spring 태그 라이브러리를 이용한 모델 출력 JSP EL 스프링 SpEL 지역화 메시지 출력 4.4.2 spring 태그 라이브러리를 이용한 폼 작성 단일 폼 모델 《spring:bind》와 BindingStatus 4.4.3 form 태그 라이브러리 《form:form》 《form:input》 《form:label》 《form:errors》 《form:hidden》 《form:password》, 《form:textarea》 《form:checkbox》, 《form:checkboxes》 《form:radiobutton》, 《form:radiobuttons》 《form:select》, 《form:option》, 《form:options》 커스텀 UI 태그 만들기 4.5 메시지 컨버터와 AJAX 4.5.1 메시지 컨버터의 종류 JSON을 이용한 AJAX 컨트롤러: GET JSON JSON을 이용한 AJAX 컨트롤러: POST(JSON) JSON 4.6 mvc 네임스페이스 《mvc:annotation-driven》 《mvc:interceptors》 《mvc:view-controller》 4.7 @MVC 확장 포인트 4.7.1 AnnotationMethodHandlerAdapter SessionAttributeStore WebArgumentResolver ModelAndViewResolver 4.8 URL과 리소스 관리 4.8.1 《mvc:default-servlet-handler/》를 이용한 URL 관리 디폴트 서블릿과 URL 매핑 문제 《mvc:default-servlet-handler/》 4.8.2 《url:resource/》를 이용한 리소스 관리 4.9 스프링 3.1의 @MVC 4.9.1 새로운 RequestMapping 전략 @RequestMapping 메소드와 핸들러 매핑 전략의 불일치 HandlerMethod @RequestMapping 전략 선택 4.9.2 @RequestMapping 핸들러 매핑: RequestMappingHandlerMapping 요청 조건 요청 조건의 결합 방식 4.9.3 @RequestMapping 핸들러 어댑터 파라미터 타입 확장 포인트 4.9.4 @EnableWebMvc와 WebMvcConfigurationSupport를 이용한 @MVC 설정 @EnableWebMvc와 WebMvcConfigurer @MVC 설정자 빈 등록 방법 @MVC 전략용 설정 빈 등록 4.10 정리 5장 AOP와 LTW 5.1 애스펙트 AOP 5.1.1 프록시 기반 AOP 프록시 기반 AOP 개발 스타일의 종류와 특징 자동 프록시 생성기와 프록시 빈 프록시의 종류 5.1.2 @AspectJ AOP @AspectJ를 이용하기 위한 준비사항 @Aspect 클래스와 구성요소 포인트컷 메소드와 애노테이션 어드바이스 메소드와 애노테이션 파라미터 선언과 바인딩 @AspectJ를 이용한 AOP의 학습 방법과 적용 전략 5.2 AspectJ와 @Configurable 5.2.1 AspectJ AOP 5.2.2 빈이 아닌 오브젝트에 DI 적용하기 DI 애스펙트 @Configurable 로드타임 위버와 자바 에이전트 5.3 로드타임 위버(LT) 5.4 스프링 3.1의 AOP와 LTW 5.4.1 AOP와 LTW를 위한 애노테이션 @EnableAspectJAutoProxy @EnableLoadTimeWeaving 5.5 정리 6장 테스트 컨텍스트 프레임워크 6.1 테스트 컨텍스트 프레임워크 6.1.1 테스트 프레임워크와 컨텍스트 테스트 테스트용 애플리케이션 컨텍스트 캐싱과 설정파일 컨텍스트 설정의 상속과 컨텍스트 로더 6.1.2 테스트 코드의 테스트 컨텍스트 활용 테스트 컨텍스트로부터 DI 받기 공유 컨텍스트 사용 시 주의할 점 6.2 트랜잭션 지원 테스트 6.2.1 테스트의 트랜잭션 지원 필요성 DAO 단독 테스트 롤백 테스트 6.2.2 트랜잭션 지원 테스트 작성 방법 트랜잭션 매니저 @Transactional 테스트 ORM 롤백 트랜잭션 테스트의 주의사항 트랜잭션 지원 테스트에 DBUnit 이용하기 6.3 스프링 3.1의 컨텍스트 테스트 프레임워크 6.3.1 자바 코드 설정정보와 프로파일 활용 @Configuration 클래스 테스트 @ActiveProfile 6.4 정리 7장 스프링의 기타 기술과 효과적인 학습 방법 7.1 스프링 기술과 API를 효과적으로 학습하는 방법 7.1.1 빈으로 등록되는 스프링 클래스와 DI 구현 인터페이스 분석 프로퍼티 분석 DI/확장 포인트 분석 7.2 IoC 컨테이너 DI 7.2.1 BeanPostProcessor와 BeanFactoryPostProcessor BeanPostProcessor BeanFactoryPostProcessor 7.3 SpEL 7.3.1 SpEL 사용 방법 7.4 OXM 7.4.1 Marshaller/Unmarshaller 인터페이스 7.4.2 OXM 기술 어댑터 클래스 7.5 리모팅과 웹 서비스, EJB 7.5.1 익스포터와 프록시 익스포터 프록시 7.5.2 RESTful 서비스 템플릿 7.5.3 EJB 서비스 이용 7.6 태스크 실행과 스케줄링 7.6.1 TaskExecutor 서비스 추상화 7.6.2 TaskScheduler 7.6.3 task 네임스페이스 《task:executor》 《task:scheduler》 《task:scheduled-tasks》와 《task:scheduled》 7.6.4 애노테이션을 이용한 스케줄링과 비동기 태스크 실행 @Scheduled @Async 7.7 캐시 추상화(스프링 3.1) 7.7.1 애노테이션을 이용한 캐시 속성 부여 @Cacheable @CacheEvict와 @CachePut 애노테이션을 이용한 캐시 기능 설정 7.7.2 캐시 매니저 7.8 @Enable 애노테이션을 이용한 빈 설정정보 모듈화 7.8.1 @Import와 @Configuration 상속 @Import를 이용한 단순 재사용 @Configuration 클래스 상속과 오버라이딩을 이용한 확장 방법 7.8.2 @Enable 전용 애노테이션과 ImportAware @Enable 애노테이션 적용 ImportAware 인터페이스를 이용한 옵션 지정 7.8.3 빈 설정자 7.8.4 ImportSelector와 ImportBeanDefinitionRegistrar 7.9 정리 부록 A 스프링 모듈 A.1 스프링 모듈의 종류와 특징 A.1.1 스프링 모듈 이름 A.1.2 스프링 모듈 추가 수동 추가 Maven/Ivy 자동 추가 A.1.3 스프링 모듈 목록 A.2 스프링 모듈의 의존관계 A.2.1 모듈별 의존관계 ASM 모듈 Core 모듈 Beans 모듈 AOP 모듈 Expression 모듈 Context 모듈 Context.Support 모듈 Transaction 모듈 JDBC 모듈 ORM 모듈 Web 모듈 Web.Servlet 모듈 Web.Portlet 모듈 Web.Struts 모듈 JMS 모듈 Aspects 모듈 Instrument 모듈 Instrument.Tomcat 모듈 Test 모듈 부록 B 스프링 의존 라이브러리 B.1 의존 라이브러리의 종류와 특징 B.1.1 의존 라이브러리 이름 B.1.2 의존 라이브러리 추가 수동 추가 자동 추가 B.2 모듈별 의존 라이브러리 의존관계 B.2.1 필수 라이브러리 B.2.2 모듈별 선택 라이브러리 ASM 모듈 Core 모듈 Beans 모듈 AOP 모듈 Expression 모듈 Context 모듈 Context.Support 모듈 Transaction 모듈 JDBC 모듈 ORM 모듈 Web 모듈 Web.Servlet 모듈 Web.Portlet 모듈 Web.Struts 모듈 JMS 모듈 Aspects 모듈 Instrument 모듈 Instrument.Tomcat 모듈 |
이일민의 다른 상품
|
★ DIJ/JavaConfig, OXM, @MVC, SpEL, Task, REST 등의 스프링 3.0의 최신 기술 소개
Java EE 6의 JSR-303과 자바코드를 이용한 최첨단 DI기술, XML 매핑을 위한 OXM, 기존 MVC를 완벽하게 대체한 강력한 웹 프레임워크인 @MVC, 스프링 공식 EL인 SpEL, JSR-303(BeanValidation)과 새로운 컨버터와 포매터 활용방법, 각종 비동기 작업을 위한 Task 기능, REST 템플릿 사용법 등 스프링 3.0의 새로운 기능을 기존 스프링 기술과 함께 상세히 소개한다. ★ 런타임 추상화, 프로파일, 프로퍼티 소스, 캐시 추상화, 발전된 @MVC, 플래시 맵 등 스프링 3.1의 최신 기술 소개 프로파일을 이용한 다이내믹한 빈 설정 기술, 통합된 프로퍼티 소스, 더욱 강력해진 @MVC 핸들러 작성, 플래시 맵 활용 방법과 AOP를 이용한 캐시 추상화 등 스프링 3.1의 최신 기술과 달라진 점을 자세히 소개한다. ★ 스프링 기술 선택을 위한 상세한 기술 비교, 선택 기준 제시 같은 기술에도 수많은 옵션을 제공하는 스프링의 특성 때문에 기술 선택에 고민하는 개발자를 위해서 스프링이 제공하는 다양한 기술 옵션을 비교하고, 환경에 따른 적절한 선택을 위한 기준을 제공해준다. ★ @Enable 빈 설정 모듈화 기법 소개 스프링 3.1의 최신 자바코드 빈 설정 기법을 이용해서 재사용 가능한 빈 설정 모듈을 만드는 방법을 스프링 3.1에 적용된 실전 예를 기준으로 상세하게 설명한다. ★ 스프링 애플리케이션 아키텍처 설계와 스프링 기반 프레임워크 제작을 위한 완벽 가이드 스프링을 이용한 엔터프라이즈 애플리케이션 아키텍처 작성을 위한 다양한 아키텍처 소개와 전략 분석, 스프링을 기반으로 한 사내 프레임워크 제작에 꼭 필요한 스프링 확장 기법을 소개한다. |