반응형

스프링 부트 1.2 릴리즈 노트 - 2015년 5월 16일


원문: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.2-Release-Notes

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

서블릿 3.1, 톰캣8 그리고 제티9 Servlet 3.1, Tomcat 8 and Jetty 9

스프링부트는 이제 내장 서블릿 컨테이너로 톰캣8과 제티9를 사용한다. 이들은 서블릿 3.1과 바로 사용가능한 향상된 웹소킷을 제공해준다. 예전 버전을 선호한다면 여전히 톰캣7과 제티8을 쓸수있다 다운그레이드의 예제로 spring-boot-sample-tomcat7-jsp 와 spring-boot-sample-jetty8 을 참고하자.


로깅 출력 Logging output

기본 로깅설정이 업데이트되 서 더이상 로그파일을 쓰지않는다. 만약 파일출력을 원하면  logging.path 나 logging.file 프로퍼티를 사용할 수 있다. 또한 사용자는 여전히 logback.xml 파일을 추가함으로서 로깅을 완전하게 커스터마이즈할 수 있다.


지속적 HTTP URI/body 디코딩 Consistent HTTP URI/body decoding

consistent URI/body decoding을 위해 CharacterEncodingFilter 는 이제 자동으로 등록된다. 만약 UTF-8 이외의 것이 필요하면 spring.http.encoding.charset 프로퍼티를 쓰면된다 또는 CharacterEncodingFilter  가 모두 등록하는게 싫으면 spring.http.encoding.enabled 을 false로 설정하자.


IgnoreDefaultModelOnRedirect with Spring MVC

스프링 MVC 자동설정은 이제 RequestMappingHandlerAdapter의 ignoreDefaultModelOnRedirect 프로퍼티가 기본적으로 true 설정된다. 사용자가 모델속성값 model attributes을 리다이렉션 URL의 일부로 필요로 한다면, application.properties에 다음과 같이 추가하면 된다:

spring.mvc.ignore-default-model-on-redirect=false

잭슨 기본설정값 Jackson defaults

잭슨 자동설정은 이제 MapperFeature.DEFAULT_VIEW_INCLUSION 과 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES의 기본값이 disabled로 설정된다. 이전의 설정을 사용하려면  application.properties에 다음과 같이 추가하면된다:

spring.jackson.mapper.default-view-inclusion=true
spring.jackson.deserialization.fail-on-unknown-properties=true

몽고와 몽고DbFactory Bean Mongo and MongoDbFactory Beans

MongoAutoConfiguration 클래스는 사용자가 자신의 MongoDbFactory bean을 정의해두면 더이상 Mongo bean을 등록하지않을것이다. 따라서 Mongo 데이터베이스에 접근하려면 자신의 MongoDbFactory bean을 선언할때 사용자가 Mongo bean을 등록하던가 또는  MongoDbFactory interface만을 쓰던가 결정해야한다.


health.* 프로퍼티는 management.heath.*로 이동 Moved health.* properties to management.health.*

헬스 관련 설정키들은 다른 management관련 프로퍼티와의 형평성에 맞춰 health 에서 management.health로 옮겨졌다. 


VanillaHealthIndicator 클래스의 이름변경 Renamed VanillaHealthIndicator class

VanillaHealthIndicator 클래스는 ApplicationHealthIndicator로 이름이 바뀌었다. 대부분의 사용자는 이 클래스를 직접적으로 연동하지않을테지만 이미 코드에 org.springframework.boot.actuate.health.VanillaHealthIndicator 를 import해서 쓰고 있다면, org.springframework.boot.actuate.health.ApplicationHealthIndicator로 바꿔줘야할것이다.


하이버네이트 Hibernate

SpringNamingStrategy 클래스가 org.springframework.boot.orm.jpa.hibernate 패키지로 이동되었다. 기존의 org.springframework.boot.orm.jpa.SpringNamingStrategy는 그대로 남아있지만 deprecated되었고 차후 릴리즈에서 삭제될 것이다.  hibernate-envershibernate-jpamodelgen그리고  hibernate-ehcache를 위한 Managed 의존성이 추가되었다.


PersistenceExceptionTranslationPostprocessor

PersistenceExceptionTranslationPostProcessor 이제 기본적으로 등록된다. exception translation set이 필요없으면 spring.dao.exceptiontranslation.enabled 프로퍼티를 false설정하자.


헬스 JSON Health JSON

The /health actuator endpoint JSON에 단일 HealthIndicator 와 연관되어 약간의 변화가 있었다. 이미 특정 JSON경로로 쿼리했었다면 아마 모니터링 툴을 업데이트해야할 수도 있다.


익명의 health 접근 제한 Anonymous health access restrictions

/health actuator endpoint 는 이제 익명의 접근이 제한된다. 익명으로 접근하면 endpoint는 health의 자세한 정보를 보여주지않으며 간단히 서버가 UP인지 DOWN만을 알려준다. 또한 endpoints.health.time-to-live에의해 명시된 시간만큼 응답이 캐시된다. 이러한 제약은 disalbed 할 수 있기때문에 1.1.x 버전대로 되돌리려면 endpoints.health.sensitive false.로 설정하자.


스프링 4.1 Spring 4.1

스프링 부트 1.2는 이제 Spring Framework 4.1.5 버전이 필수이며 더이상 Spring Framework 4.0 버전과 호환되지않는다.


히카리 CP Hikari CP

스프링 부트의 의존성관리에 의해 제공되는 com.zaxxer:HikariCP 의 버전은 이제 자바 8을 써야만한다. 자바6나 자바7을 쓴다면, com.zaxxer:HikariCP-java6 로 사용자의 의존성을 업데이트 해줘야한다.


설정 프로퍼티 Configuration Properties

spring.data.mongo.repositories.enabled 프로퍼티는 spring.data.mongodb.repositories.enabled로 이름이 바뀌었다.


디프리케이션 Deprecations

  • org.springframework.boot.actuate.system.ApplicationPidListener 클래스는  ApplicationPidFileWriter로 대체되었다.

  • CLI @EnableRabbitMessaging 애노테이션은 spring-rabbit 프로젝트의  @EnableRabbit로 대체되었다..

  • http.mappers. 프로퍼티는 spring.jackson.serialization과 동일하므로 디프리케이트 되었다.

  • properties are deprecated in favor of theirspring.jackson.serialization. equivalents.

  • org.springframework.boot.json.SimpleJsonParser 는 "JSON Simple"라이브러리와의 혼동을 피하기 위해 BasicJsonParser 를 권장하기 위해 디프리케이트 되었다.


주목할만한 새 기능 New and Noteworthy

버전 업데이트 Version Updates

스프링 부트 1.2를 빌드하려면 스프링 프레임워크 4.1이 필요한다. Jackson, Joda Time and Hibernate Validator 등등의 몇몇 서드파티 의존성이 이 릴리즈에 맞춰 업그레이드되었다. 기본 내장 서블릿 컨테이너가 이제 톰캣8과 제티9를 사용한다.(서블릿 3.1지원에 의해)


@SpringBootApplication annotation

사용자가 빈번하게 사용하는 3개의 애노테이션 @Configuration + @EnableAutoConfiguration + @ComponentScan과 동일하게 작동하는 새로운 @SpringBootApplication 애노테이션이 추가되었다.


JTA Support

스프링 부트 1.2는 이제 Atomkos또는 Bitronix 내장 트랜잭션 매니저를 사용하는 다수의 XA리소스를 위한 분산 JTA 트랜잭션을 지원한다. JTA transactions are also supported when deploying to a suitable Java EE Application Server.

JTA 환경이 감지되면, 스프링의 JtaTransactionManager 가 트랜잰션을 관리하는데 사용된다.JMS, DataSource와 JPA 자동설정 빈들이 XA 트랜잭션을 지원하도록 업그레이드된다. 사용자는 @Transactional같은 표준 Spring 용어로 이 분산 트랜잭션을 사용할 수 있다.

추가적으로, @EnableAutoConfiguration를 쓰지않아도 Atomkos 와 Bitronix을 더 쉽게 설정할 수 있는 지원 클래스들이 제공된다. 자세한 정보는 레퍼런스 문서의 JTA 섹션을 참고하자.


JNDI Lookups

완전한 Java EE 어플리케이션을 사용중이라면 JNDI로부터 DataSource와 JMS ConnectionFactory beans 둘다 검색lookup 할 수 있다. application.properties 또는 application.yml 파일의 spring.datasource.jndi-name 와 spring.jms.jndi-name 프로퍼티를 사용하자.


Jackson customization

이제  spring.jackson 프로퍼티를 사용하여 Jackson ObjectMapper를 커스터마이즈 할 수 있다. Jackson의 SerializationFeatureDeserializationFeatureMapperFeature,JsonParser.Feature 그리고 JsonGenerator.Feature 객체들을 serializationdeserializationmapperparser and generator 프로퍼티를 사용하여 커스터마이즈 할 수 있다. 예를 들면, DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES 를 enable하려면  application.properties에 다음과 같이 추가하면된다. 

spring.jackson.deserialization.fail-on-unknown-properties=true

추가적으로 spring.jackson.date-format 그리고 spring.jackson.property-naming-strategy프로퍼티가 스프링 1.2에 추가되었다.


Banner Interface

SpringApplication.setBanner(…​) 의 조합으로 사용할 수 있는 새로운 Banner 인터페이스가 추가되여 커스터마이즈된 배너 출력을 제공한다. 간단한 배너를 위해 src/main/resources/banner.txt 를 쓰는것을 여전히 권장하지만. 더 멋있게 보이려면 새 인터페이스가 유용할 것이다.


Banner Properties

src/main/resources/banner.txt 파일에  ${application.version}${spring-boot.version},${application.formatted-version} 그리고  ${spring-boot.formatted-version} 변수들을 사용할 수 있어 스프링부트나 어플리케이션의 버전을 출력할 수 있다.   (v1.2.0.RELEASE) 와 같이  formatted-version 을 괄호안에서 v접두어를 포함하여 쓸 수 있다.


JMS Support

자동설정이 이제 스프링 프레임워크 4.1의  @JmsListener 어노테이션을 지원한다. 사용자 클래스패스에 spring-jms.jaro이 있으면 @EnableJms 어노테이션 또한 자동설정된다.


AMQP Support

유사하게, 자동설정이 스프링 AMQP1.4의 @RabbitListener어노테이션을 지원한다. 사용자의 클래스패스에 spring-rabbit.jar 이 있다면  @EnableRabbit 어노테이션 또한 자동설정된다. 기존의 Rabbit 자동설정도 자동적으로 RabbitMessagingTemplate을 생성하도록 확장되었다.


Spring Cloud Connectors

자동설정은 spring-cloud-connectors 를 추가하였다. 새로운 spring-boot-starter-cloud-connectors POM 또한 릴리즈에 포함되었다. 자동설정은 @CloudScan 어노테이션과 기능적으로 동일하게 제공될것이다.


Email Support

새로운 spring-boot-starter-mail-starter POM이 자동설정 지원에 맞춰 추가되었다. 이메일을 보내기위해 사용자의 서비스에  JavaMailSender bean 을 주입할 수 있다. spring.mail.* 프로퍼티는 SMTP host 같은 아이템들을 커스터마이즈하는데 쓰인다.


Undertow Embedded Servlet Container

톰캣과 제티뿐만 아니라 스프링부트는 이제 내장 서블릿 컨테이너로서 Undertow 도 지원한다. 자세한 정보는 레퍼런스 문서를 보자.


CLI Updates

Creating a new project

spring CLI 커맨드라인 툴은 새 init 옵션을 추가하여 start.spring.io를 통해 새로운 프로젝트를 만들 수 있다. 예를 들면 새 웹 어플리케이션을 만드려면 다음과 같이 타입하자:

$ spring init -d=web myapp.zip


CLI extensions

CLI extension은 이제 CLI 자체로 인스톨/ 언인스톨이 가능하다. spring install <maven coordinates> 은 원격 jar를 찾아 CLI에 인스톨할 것이다. spring uninstall 은 이전에 설치된 extension을 삭제하는데 쓰인다.


CLI changes

CLI 는 이제 스프링의 @Cacheable 어노테이션을 감지하고 지원한다


제티와 톰캣의 선언적 SSL Declarative SSL with Jetty and Tomcat

SSL은 이제 다양한 server.ssl.* 프로퍼티를 확용하여 선언적으로 설정할 수 있다. 톰캣과 제티 둘다 지원한다. 자세한정보는 레퍼런스 문서를 보자


Actuator Endpoints

글로벌 endpoints.enabled 프로퍼티가 추가되어 만일 endpoint의 기본값이 enabled인지 disabled인지 설정이 할 수 있다. 이것은 사용자가 현재 opt-out 모델에서 opt-in 모델로 전환할 수 있게 해준다. 예를 들면, 사용자가 application.properties에 다음과같이 추가 함으로서 health 를 제외한 모든 endpoints를 disabled 시킬 수 있다.

endpoints.enabled=false
endpoints.health.enabled=true

Metrics

System metrics

시스템 매트릭스는 이제 힙, 쓰레드, 클래스, 가비지 콜랙션의 정보를 제공한다.


DataSource metrics

DataSource pool metrics 는 이제 /metrics actuator endpoint를 통해 노출된다. 동작중인 연결갯수, Tomcat, Hikari and Commons DBCP connection pools의  자세한 풀 사용현황 등이 보여진다.


Tomcat session metrics

내장 서블릿 컨테이너로 톰캣을 사용중이라면, 매트릭스는 작동중인 세션수, 최대 세션수를 보여줄것이다.


Dropwizard metrics

Dropwizard’s MetricRegistry 로 온 아이템들은 이제 자동으로 /metrics endpoint에 보여질 것이다. 게이지와 카운터들은 단일 값으로 반영된다. 타이머, 미터, 히스토그램도 숫자 타입의 프로퍼티로 메트릭스에 설정되도록 확장될것이다.


Health indicators

JSON format

/health actuator endpoint 는 이제 실제로 포함된 HealthIndicators와 무관하게 일관된 JSON을 돌려준다. 이 변화는 특정아이템을 위한 JSON 쿼리를 더 쉽게 만들어준다.


DataSourceHealthIndicator

DataSourceHealthIndicator는 이제 spring.datasource.validation-query 프로퍼티를 사용하여 (설정했을 경우) 데이터베이스의 건강상태를 체크할 것이다.


DiskSpaceHealthIndicator

이제 남은 디스크용량이  /health indicator 의 일부분으로 보고되어 특정 한계치 ( 기본값은 10M) 밑으로 떨어지면 DOWN 상태로 바뀌는데 사용된다. health.diskspace.path 와 health.diskspace.threshold 프로퍼티는 indicator를 커스터마이즈하는데 사용된다.


Conditions

@ConditionalOnProperty 어노테이션에 새로운 havingValue 와 matchIfMissing 속성값이 추가되어 이제 훨씬 더 복잡한 프로퍼티 매칭 컨디션property matching conditions을 만드는데 사용할 수 있다. 새 AnyNestedCondition 클래스 또한 추가되어 다른 @Conditions을 작성하는데 쓸 수 있다. 마지막으로  @ConditionalOnBean 어노테이션은 이제  클래스뿐만 아니라 String 속성으로도 선언할 수 있다.


GSON Support

이제 Jackson 출력물을 만드려면 Jackson을 대신해 GSON을 쓸 수 있게 되었다. Jackson은 여전히 권장되는 방식이고 기본설정값이지만 사용자가 Jackson을 필요로하는 Spring Boot’s Actuator를 쓰지않는다면, 메이븐/그레들 빌드로부터 Jackson라이브러리를 제외시킴으로서 GSON을 사용할 수 있다. 스프링 부트 1.2.2버전부터 Gson과 Jackson이 동시에 클래스패스에 있을 경우,  GSON을 사용하려면 spring.http.converters.preferred-json-mapper 를 gson으로 설정해주면 된다.


EmbeddedServerPortWriter

spring-actuator 프로젝트에 새로운 org.springframework.boot.actuate.system.EmbeddedServerPortFileWriter클래스가 추가되었는데 어플리케이션이 시작할때 파일에 내장 서버의 포트넘버를 적어서 사용할 수 있다.


Log4j2

Log4J 는 이제 추가된 spring-boot-starter-log4j2 start POM 로 대체할 수 있다. Logback은 여전히 기본설정으로 남아 권장하는 로깅시스템이다.


Jersey auto-configuration

Jersey의 자동설정이 지원된다. 자세한 정보는 레퍼런스를 참조하자.


Apache-Commons DBCP2 Support

아파치 commons-dbcp2 데이터베이스 커넥션 풀 라이브러리가 Tomcat, Hikari 그리고 DBCP (v1).에 이어 지원된다.


Maven Plugin

spring-boot-maven-plugin 의 repackage 작업을 disabled 시킬 수 있다. 이는 FatJars 가 필요없는 사용자가 spring-boot:run 을 쓰려고 할때 유용하다.


Configuration meta-data

이제 spring-bootspring-boot-autoconfigure 와 spring-boot-actuator jars에 추가적인 메타데이터 파일을 넣을수 있어 툴 개발자가 `application.properties 파일에 `code completion'을 제공하는데 사용할 수 있다. 어노테이션 프로세서 또한 @ConfigurationProperties 클래스로부터 자동적으로 사용자 자신의의 파일을 만들수 있게 


Miscellaneous

다음의 잡다한 업데이트들 또한 스프링 부트 1.2에 포함되었다.

  • RedisProperties클래스는 이제 database 필드를 포함한다. 

  • RelaxedDataBinder클래스는 alais 프로퍼티를 지원한다. 

  • 정규식은 이제 모든 keystosanitize 프로퍼티들과 함께 사용할 수 있다. 

  • Ansi출력은 이제 spring.output.ansi.enabled 프로퍼티로 설정가능하다. 

  •  /public/static/resources폴더에 favicon.ico 파일을 넣을 수 있다. (다른 정적 웹에셋과 같이) 

  •  ApplicationPidFileWriter (이전엔 ApplicationPidListener) 에 의해 쓰여진 파일의 위치는 spring.pidfile 프로퍼티를 사용하거나 PIDFILE 환경변수를 이용하여 특정할 수 있다.

  • 톰캣 DataSource 정보는 이제 JMX를 통해 자동으로 노출된다

  •  @Configuration 와 함께 어노테이트된 SpringBootServletInitializer 서브클래스들은 더이상 자신을 소스로 등록하기 위해 .configure 메소드를 오버라이드 할 필요 없다.

  • 사용자가 선호한다면 이제 application 프로퍼티의 포멧으로 XML을 쓸 수 있다


반응형

반응형

스프링 부트 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