반응형

스프링 부트 1.1 릴리즈 노트 - 2014년 6월 13일

스프링 부트 1.0이후 업그레이드된 것

테스트 의존성 Test dependences

spring-boot-starter-test POM 은 더이상 spring-boot-starter-parent에 자동으로 포함되어지지 않는다. 부모POM에 테스트 의존성을 기본으로 추가한것은 좋은 아이디어 같았지만, 불행하게도 이들은 쉽게 수정하거나 제거되지않았다.

1.0에서 1.1로 업그레이드되면서 이젠  spring-boot-starter-test 의존성을 직접 추가해줘야한다.


레디스 드라이버 Redis Driver

스프링 부트 1.0은  Lettuce Redis 드라이버를 사용했왔으나 1.1부턴 Jedis 드라이버로 교체되었다. 대부분의 사용자는 쉽게 알아차릴수 있을것이다.


건강지표들 HealthIndicators

HealthIndicator 인터페이스는 더 명시적 API로 바뀌었다. 이젠 언제나 부가적인 맥락정보(contextual information.)와 커스터마이징할 수 있는  Status 정보를 가지는 Health 인스턴스를 리턴한다. ApplicationContext에 등록된 모든 HealthIndicators를 리턴받은 Health 인스턴스는 새로 소개된  HealthAggregator.인터페이스의 구현체에 의해 합쳐졌다. 디폴트 HealthAggregator 구현체는 Status.UPStatus.DOWN orStatus.OUT_OF_SERVICE 와 같은 모든 내장된 Status 타입에의 최우선 순위를 가진다. 이 순위는 새로 소개된 custom Status 코드를 지원하려고 설정하거나 확장할수 있다.

 /health MVC endpoint 은 이제 다른 Status 코드의 다른 HTTP상태코드를 리턴하도록 설정할 수 있다.  이를테면, 기본값으로 Status.DOWN은 503을 Status.UP는 200을 리턴한다. Status 와 HttpStatus 의 매핑 역시 사용자의 필요에 따라 설정을 바꾸거나 확장할 수 있다.

 SimpleHealthIndicator클래스는 DataSourceHealthIndicator로 이름이 변경되었다. 추가적으로 Mongo, Redis, Rabbit 와 Apache Solr를 지원하는 basic health check 역시 추가되었다. Spring Boot Actuator를 쓸때 이러한 health checks 들은 자동적으로 추가된다. 데이터저장장치 나 메시징시스템 역시 자동으로 찾아준다. (auto-detected). 필요시 특정 health checks의 생성을 막을수도 있다.


JMS 업데이트 JMS Changes

JmsTemplate 클래스는 pubSubDomain 의 기본값이 이제 기존의 true에서  false 로 바뀌었다. TheJmsTemplateAutoConfiguration 클래스는 JmsAutoConfiguration로 이름이 바뀌었다. ActiveMQAutoConfiguration 클래스는 이제 activemq 서브패키지에 포함되었다.


에러컨트롤러 ErrorController

ErrorController 인터페이스와 연관된 클래스는 spring-boot-actuator 에서 spring-boot-autoconfigure로 옮겨졌다.  대부분의 사용자는 쉽게 알아차릴수 있을것이다. 하지만 몇몇의 패기지이름변경이 또한 바뀌었다.


멀티파트 설정 Multipart Config

MultiPartConfigFactory 는 MultipartConfigFactory 로 이름이 변경되었다. (note the different case).


스프링 데이터 자동설정 패키지 Spring Data auto-configuration packages

스프링 데이터 자동설정 클래스는 서브패키지로 옮겨졌다. 대부분의 사용자는 이것들을 직접적으로 사용하지는 않을테니잠 만일 @EnableAutoConfigurationexclude 속성을 통해 참조한다면 아마 import를 바꾸어야 할것이다.


리엑터 Reactor

스프링 부트 이제 Reactor 1.1.2 를 기본으로 제공한다. (스프링부트 1.0.x에서는 Reactor 1.0.1 제공해왔다). Reactor 1.1 에서는 reactor-tcp 모듈이 reactor-net로 이름이 변경되었으므로 사용자가 reactor-tcp 를 써왔다면 reactor-net 로 의존성을 바꿔야할것이다.


메이븐에서 앱실행하기 Running your app using Maven

스프링 부트는 이제 앱을 실행하기위한 프로세스를 fork할수 있다. (예를 들면 mvn spring-boot:run를 사용). 이것의 명확한 의미는 커맨드라인의 인수들 arguments 은 더이상 어플리케이션에 사용할 수 없다. 자세한 정보는 예제 를 참조하자.



주목할만한 새 기능

버젼 업데이트 Version Updates

몇몇의 서드파티 의존성이 곧 등장할  Spring IO Platform 릴리즈에 정의된 버젼에 맞게 업그레이드 되었다. 스프링 부트 그래들 플러그인을 통해  custom version meta-data file 또한 사용할 수 있게 되었다.


템플릿 추가 지원 Additional Templating Support

 현재 지원하는 Thymeleaf and JSP 에 추가하여 Freemarker, Groovy 와 Velocity 템플릿을 지원한다.

 

메트릭스와 헬스 종단 Metrics and Health Endpoints

/metrics actuator endpoint는 이제 힙 디테일, 클래스 로딩수, 쓰레드 정보, 가비지 컬랙션 통계와 같은 더 많은 정보를 포함한다. HealthIndicator는 다수의 bean을 등록할 수 있게 향상되었으며 이미 지원하는 JDBC indicator와 함께 Redis, Mongo and RabbitMQ indicators 또한 out of the box로 지원할 수 있게 추가되었다 


메이븐 플러그인 Maven Plugin

스프링 부트 메이븐 플러그인은 이제 excludes 를 지원하여 사용자의 "fat" jar의 일부분으로 번들되는 라이브러리들을 필터링 할 수 있게 되었다.  플러그인 문서 또한 이제 하나의 maven site서 발행할 수 있게 되었다.


그래들 플러그인 Gradle Plugin

스프링 부트 그래들 플러그인은 spring-boot-dependencies POM에 기반하여 이제 자동으로 exclusion 룰을 적용한다. 자세한 정보는 레퍼런스 문서 를 참고하자.


커스텀 배너 Custom Banner

사용자의 클래스패스에 이제 banner.txt 파일을 추가하거나  banner.location 프로퍼티를 설정함으로서 커스텀 배터를 추가할 수 있다. 


Flyway 데이터베이스 마이그레이션 Flyway database migrations

Flyway 데이터베이스 마이그레이션을 위한 자동설정auto-configuration을 제공한다.


리퀴베이스 데이터베이스 마이그레이션 Liquibase database migrations

Liquibase 데이터베이스 마이그레이션을 위한 자동설정auto-configuration을 제공한다.


몽고 Mongo

몽고 자동설정이 향상되어  Mongo,MongoDbFactory 나 MongoTemplate beans을 인젝션할 수 있다. GridFS 지원또한 자동설정된  GridFsTemplate bean을 통해 추가할 수 있다.


젬파이어 GemFire

Spring Data GemFire를 지원하는 새로운 spring-boot-starter-data-gemfire 모듈을 추가되었다.


호넷Q HornetQ

 새로운 spring-boot-starter-hornetq starter POM과 함께 HornetQ JMS broker를 위한 자동설정이 추가되어 클래스패스에  org.hornetq:hornetq-jms-server 를 쓰면 내장 HornetQ broker가 기본으로 자동설정된다. 자세한 정보는 문서를 참고하자.


일레스틱 서치 Elasticsearch

 새로운 spring-boot-starter-data-elasticsearch starter POM과 함께 Elasticseach를 위한 자동설정이 추가되었다.


아파치 Solr Apache Solr

새로운  spring-boot-starter-data-solr starter POM과 함께 아파치 Solr를 위한 자동설정이 추가되었다.


웹지원 향상 Web Improvements

Spring HATEOAS와 Spring Data Rest MVC를 위한 자동설정이 추가되었다. 멀티파트 파일 업로드 지원도 기본으로 enabled되게 설정이 바뀌었다.


스프링 소셜 Spring Social

페이스북, 트위터, 링크드인 커넥터를 쓸수있는 스프링 소셜의 자동설정이 추가되었다.


스프링 모바일 Spring Mobile

SitePreferenceHandler이 스프링 모바일 자동설정에 업데이트되었다.


스프링 인티그레이션  Spring Integration

Spring Integration의 자동설정이 추가되었다. 사용자의 클래스패스에 Spring Integration이 있으면 Spring Integration JMX beans뿐만 아니라  @EnableIntegration 이 자동으로 설정된다.


스프링 WS Spring-WS

새로운 spring-boot-starter-ws이 스프링 웹서비스 지원을 통해 쓸 수 있게 되었다.


잭슨 Jackson

Jackson JSON marshaling 라이브러리 지원이 향상되었다. 사용자는 이제 JodaModule andJSR310Module 뿐만 아니라 Jackson의 ObjectMapper 를 위한 자동설정빈을 쓸 수 있으며 이들이 자동으로 적용된 자신만의 Module bean 또한 추가할 수 있다.


히카리 데이터소스 HikariDataSource

Hikari Connection Pool 라이브러리가 추가되었다. Tomcat DBCP를 쓰면 하지 못하는 사용자의 클래스패스에 위치한 HikariCP 라이브러리를 간단히 보장해준다.


새 조건부 어노테이션 New Conditional Annotations

두개의 새로운  @Conditional 어노테이션이 추가 되었다. @ConditionalOnProperty 는 Environment 프로퍼티의 설정을 기반으로 bean을 조건부로 enabling해주는 기능이고  @ConditionalOnJava 는  JVM 버젼을 기반으로 bean을 enable 해주는 것이다.



반응형

+ Recent posts