프로젝트/기업형SNS

프로젝트 아키텍처 사용된 프레임웍 1차 완성

모지사바하 2015. 7. 21. 11:40

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 이용