Anyframe Core Plugin

Version 1.0.3

본 문서의 저작권은 삼성SDS에 있으며 Anyframe 오픈소스 커뮤니티 활동의 목적하에서 자유로운 이용이 가능합니다. 본 문서를 복제, 배포할 경우에는 저작권자를 명시하여 주시기 바라며 본 문서를 변경하실 경우에는 원문과 변경된 내용을 표시하여 주시기 바랍니다. 원문과 변경된 문서에 대한 상업적 용도의 활용은 허용되지 않습니다. 본 문서에 오류가 있다고 판단될 경우 이슈로 등록해 주시면 적절한 조치를 취하도록 하겠습니다.


I. Introduction
II. Spring
1. IoC(Inversion of Control)
1.1. Basic
1.1.1. Container와 Bean
1.1.2. Container
1.1.3. Beans
1.1.4. How to refer to Beans
1.2. Dependencies
1.2.1. Dependency Injection(DI)
1.2.2. Bean Property와 생성자 인자
1.2.3. depends-on 속성 사용
1.2.4. Lazy Instantiation
1.2.5. Autowiring
1.2.6. Dependency Check
1.3. Method Injection
1.3.1. Lookup Method Injection
1.3.2. Method Replacement
1.4. Bean과 Container의 확장
1.4.1. Bean Scope
1.4.2. Bean Life Cycle
1.4.3. Bean 상속
1.4.4. Container 확장
1.4.5. ApplicationContext 활용
1.5. XML 스키마 기반 설정
2. Annotation
2.1. Bean Management
2.1.1. Auto Detecting
2.1.2. Using Filters to customize scanning
2.1.3. Scope Definition
2.2. Dependency Injection
2.2.1. @Inject
2.2.2. @Autowired
2.2.3. @Resource
2.2.4. @Qualifier
2.2.5. Provider
2.2.6. @Inject / @Autowired / @Resource 비교
2.3. LifeCycle Annotation
2.3.1. @PostConstruct
2.3.2. @PreDestroy
2.3.3. Combining lifecycle mechanisms
2.4. Resources
3. Java based Configuration
3.1. Bean Management
3.1.1. Naming
3.1.2. Lifecycle Management
3.1.3. Scope
3.1.4. Dependency Injection
3.1.5. Method Injection
3.1.6. Spring Expression Language
3.2. Combining Java and XML Configuration
3.2.1. Combine Java Configuration
3.2.2. Combine XML Configuration
3.3. Instantiating spring container
3.3.1. AnnotationConfigApplicationContext
3.3.2. AnnotationConfigWebApplicationContext
3.4. Resources
4. AOP(Aspect Oriented Programming)
4.1. AOP 구성 요소
4.1.1. JointPoint
4.1.2. Pointcut
4.1.3. Advice
4.1.4. Weaving 또는 CrossCutting
4.1.5. Aspect
4.2. Annotation based AOP
4.2.1. Configuration
4.2.2. @Aspect 정의
4.2.3. @Pointcut 정의
4.2.4. @Advice 정의
4.2.5. Aspect 실행
4.3. XML based AOP
4.3.1. Aspect 정의
4.3.2. Pointcut 정의
4.3.3. Advice 정의 및 구현
4.4. AspectJ based AOP
4.4.1. 시작하기 전에
4.4.2. Aspect 정의
4.4.3. Pointcut 정의
4.4.4. Advice 정의
4.5. AOP Examples
4.5.1. AOP Example - Logging
4.5.2. AOP Example - Exception Transfer
4.5.3. AOP Example - Profiler
4.5.4. AOP Example - Design Level Assertions
4.6. Resources
5. SpEL(Spring Expression Language)
5.1. Bean Definition using SpEL
5.1.1. XML based Bean Definition
5.1.2. Annotation based Bean Definition
5.2. Expression Evaluation using Spring's Expression Interface
5.3. Language Reference
5.3.1. Literal Expressions
5.3.2. Properties, Arrays, Lists, Maps, Indexers
5.3.3. Methods
5.3.4. Relational Operators
5.3.5. Logical Operators
5.3.6. Mathematical Operators
5.3.7. Assignment
5.3.8. Types
5.3.9. Constructors
5.3.10. Variables
5.3.11. Functions
5.3.12. Ternary Operator
5.3.13. Elvis Operator
5.3.14. Safe Navigation Operator
5.3.15. Collection Selection
5.3.16. Collection Projection
5.3.17. Expression Templating
5.3.18. 테스트 데이터 : Genre & Movies
5.4. Resources
6. DataSource
6.1. JDBCDataSource Configuration
6.1.1. Samples
6.2. DBCPDataSource Configuration
6.2.1. Samples
6.3. C3P0DataSource Configuration
6.3.1. Samples
6.4. JNDIDataSource Configuration
6.4.1. Samples
6.4.2. jee schema 를 통한 JNDIDataSource 사용
6.5. Test Case
6.6. Resources
7. Transaction Management
7.1. Declarative Transaction Management
7.1.1. Annotation을 이용한 Transaction 관리
7.1.2. XML 정의를 이용한 Transaction 관리
7.1.3. [참고] Propagation Behavior, Isolation Level
7.1.4. 테스트 케이스 상세
7.2. Programmatic Transaction Management
7.2.1. TransactionTemplate을 이용한 Transaction 관리
7.2.2. TransactionManager를 직접 이용한 Transaction 관리
7.3. Resources
III. Spring MVC
8. Architecture
9. Configuration
9.1. web.xml 작성
9.1.1. DispatcherServlet 등록
9.1.2. Spring MVC 설정 파일 위치 등록
9.2. action-servlet.xml 작성
9.2.1. Handler Mapping
9.2.2. View Resolver
9.2.3. Configuration Simplification
10. Controller
10.1. Configuration
10.1.1. Using Filters to customize scanning
10.2. 컨트롤러 구현
10.2.1. @Controller
10.2.2. @RequestMapping
10.2.3. @RequestParam
10.2.4. @RequestBody
10.2.5. @ResponseBody
10.2.6. HttpEntity<?>
10.2.7. @ModelAttribute
10.2.8. @SessionAttributes
10.2.9. @CookieValue
10.2.10. @RequestHeader
10.3. Double Form Submission 방지
11. View
11.1. Tag library
11.1.1. configuration
11.1.2. form
11.1.3. input
11.1.4. checkbox
11.1.5. checkboxes
11.1.6. radiobutton
11.1.7. radiobuttons
11.1.8. password
11.1.9. select
11.1.10. option
11.1.11. options
11.1.12. textarea
11.1.13. hidden
11.1.14. errors
11.1.15. sample
11.2. Tiles Integration
12. Validation
12.1. Spring Validator
12.1.1. Validator 생성
12.1.2. Validator 활용
12.1.3. <form:errors> 태그 사용
12.2. Spring 3 Validation
12.2.1. JSR-303 (Bean Validation) Basic
12.2.2. JSR-303 (Bean Validation) Optional
12.2.3. Custom Constraints
12.2.4. Declarative Validating
12.2.5. Programmatic Validating
12.3. Resources
13. Data Binding and Type Conversion
13.1. PropertyEditor
13.1.1. Implementing Custom Editor
13.1.2. Default PropertyEditors
13.1.3. Register Custom Editor
13.1.4. PropertyEditor의 단점
13.2. Spring 3 Type Conversion
13.2.1. Implementing Conveter
13.2.2. Default Converter
13.2.3. Register Converter
13.2.4. ConversionService 사용하기
13.3. Spring 3 Formatting
13.3.1. Implementing Formatter
13.3.2. Default Formatter
13.3.3. Annotation 기반 Formatting
13.3.4. Register Formatter
14. File Upload
15. Internationalization
15.1. 다국어 지원 기능
15.1.1. LocaleResolver를 이용한 Locale 변경
15.1.2. LocaleChangeInterceptor를 이용한 Locale 변경
15.2. LocaleResolver
15.2.1. AcceptHeaderLocaleResolver
15.2.2. CookieLocaleResolver
15.2.3. SessionLocaleResolver
16. Exception Handling
16.1. 특정 error 페이지로 이동하여 에러 메시지 출력
16.2. 에러 페이지에 에러 메시지 출력
16.3. Presentation Layer에서 message key를 이용한 locale 변경
16.3.1. Business Layer의 BaseException 발생
16.3.2. Presentation Layer에서 꺼낸 message key 값에 새로운 Locale로 셋팅
17. Spring Integration
17.1. Listener 등록과 Spring 설정 파일 목록 위치 정의
17.2. Dependency Injection을 통한 Business Service 호출
17.3. Resources
IV. Spring MVC Extensions
18. Configuration Simplification
19. Tag library
19.1. Page Navigator Tag
19.2. Message Tag
V. Id Generation
VI. Logging
20. Configuration
20.1. appender
20.2. logger
20.3. root
21. Logging
21.1. 기본적인 사용 방법
21.2. ResourceBundle을 이용하는 방법
22. Resources
VII. Message Source
23. ReloadableResourceBundleMessageSource
24. DatabaseMessageSource
24.1. Configuration
24.2. Import/Export/Refresh Messages
25. AggregatingMessageSource
VIII. Query Service
IX. Properties Service
26. PropertiesServiceImpl
26.1. Samples
27. Sample Property File
28. Dynamic Reloading
29. Resources