Java 1.8
- 기반
Spring Framework 4.1.7.RELEASE
Spring Boot 1.2.5.RELEASE
- Data Access
Spring JDBC
Groovy - 쿼리 보관용 : 멀티라인 스트링 때문에 도입.
Java 8 의 람다를 이용하여 JdbcTemplate 을 사용하기가 많이 편해짐.
HikariCP
- 보안
Spring Security 3.2.7.RELEASE
: 버전이 낮은 이유는 spring-boot-starter-security 가 3.2.7 이기 때문.
- Rest Resource 표현
Hateoas
- 로깅
Logback
- 빌드
Gradle
- Database
MariaDB
- json ,xml 변환
Jackson
- 세션
Spring Session
Redis 3
- 버전관리
Git
- 지속적통합(CI)
Jenkins
위와 같고
프로젝트 구조는
api 프로젝트 - 모바일, 태블릿에서 사용. @RestController 로 구성
web 프로젝트 - 웹에서 사용. @Controller 로 구성. 템플릿엔진은 Tiles 사용
common 프로젝트 - @Service, @Repository, Domain 클래스로 구성. 실질적인 비즈니스 로직이 들어있음. api 프로젝트와 web프로젝트에서 사용
국제화는 LocaleResoler와 messages, messages_en .... 을 이용
날짜는 Java 8 의 LocalDate, LocalDateTime 을 이용
파일 관련은 Java 7 의 NIO 이용
웹 프로젝트의 정적 파일(캐쉬) 관리는
스프링 4.1 의 VersionResourceResolver 와 AppCacheManifestTransformer 이용