码迷,mamicode.com
首页 > 编程语言 > 详细

从Spring Boot 1.5升级到2.0

时间:2018-06-27 14:02:49      阅读:1093      评论:0      收藏:0      [点我收藏+]

标签:uid   htm   exist   info   参考   hue   could not   重命名   tom   

POM
  • 1.5
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
    <relativePath/>
    </parent>
  • 2.0
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <relativePath/>
    </parent>

Spring Data

Spring Data的一些方法进行了重命名:

  • findOne(id) -> getOne(id)
  • delete(id) -> deleteById(id)
  • exists(id) -> existsById(id)
  • findAll(ids) -> findAllById(ids)

配置

在升级时,可以在pom中增加spring-boot-properties-migrator,这样在启动时会提示需要更改的配置:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <scope>runtime</scope>
</dependency>

其中改动较大的是security(The security auto-configuration is no longer customizable,A global security auto-configuration is now provided)和management部分。

  • security
    security开头的配置及management.security均已过期,如以下的配置不再支持,需要调整到代码中:
    security:
    ignored: /api-docs,/swagger-resources/**,/swagger-ui.html**,/webjars/**
  • management
    management:
    security:
    enabled: false
    port: 8090

    修改为:

    management:
    server:
    port: 8090
  • datasource
    datasource:
    initialize: false

    修改为:

    datasource:
    initialization-mode: never

如使用PostgreSQL,可能会报错:Method org.postgresql.jdbc.PgConnection.createClob() is not yet implemented hibernate,需修改配置:

jpa:
    database-platform: org.hibernate.dialect.PostgreSQLDialect
    properties:
       hibernate:
         default_schema: test
         jdbc:
           lob:
             non_contextual_creation: true

更多需要调整的参数请看文末参考文档。

Security

WebSecurityConfigurerAdapter

  • security.ignored
    @Override
    public void configure(WebSecurity web) throws Exception {
    web.ignoring().antMatchers("/api-docs", "/swagger-resources/**", "/swagger-ui.html**", "/webjars/**");
    }
  • AuthenticationManager
    如在代码中注入了AuthenticationManager,
    @Autowired
    private AuthenticationManager authenticationManager;

    在启动时会报错:Field authenticationManager required a bean of type ‘org.springframework.security.authentication.AuthenticationManager‘ that could not be found.请在WebSecurityConfigurerAdapter中增加以下代码:

    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
    return super.authenticationManagerBean();
    }

Actuator

Actuator访问路径发生了变化,网址前部增加了单词actuator([/actuator/health],[/actuator/info]),这可以在启动日志中看到。

未完待续...

参考文档

Spring Boot 2.0 Migration Guide
Spring Boot 2.0 Configuration Changelog
Spring Boot 2.0 新特性和发展方向

从Spring Boot 1.5升级到2.0

标签:uid   htm   exist   info   参考   hue   could not   重命名   tom   

原文地址:http://blog.51cto.com/7308310/2133163

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!