首页 > 编程语言 > 详细

springboot知识点

时间:2019-08-21 11:32:17      阅读:71      评论:0      收藏:0      [点我收藏+]

一、静态属性

1、配置文件属性映射(完全映射,名称必须一致)

@Value(value="${config.name}")

2、有时候属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties(prefix = "com.dudu")来指明使用哪个

 

 

这里配置完还需要在spring Boot入口类加上@EnableConfigurationProperties并指明要加载哪个bean,如果不写ConfigBean.class,在bean类那边添加

 

技术分享图片
@SpringBootApplication
@EnableConfigurationProperties({ConfigBean.class})
public class Chapter2Application {

    public static void main(String[] args) {
        SpringApplication.run(Chapter2Application.class, args);
    }
}
技术分享图片

 

最后在Controller中引入ConfigBean使用即可,如下:

 

技术分享图片
@RestController
public class UserController {
    @Autowired
    ConfigBean configBean;

    @RequestMapping("/")
    public String hexo(){
        return configBean.getName()+configBean.getWant();
    }
}
技术分享图片

 

 

3、引入自己的属性文件

 

@Configuration
@ConfigurationProperties(prefix = "com.md") 可不完全匹配,可大小写,加-,例如Name
@PropertySource("classpath:test.properties")
public class ConfigTestBean {
    private String name;
    private String want;
    // 省略getter和setter
}

4、

配置文件的优先级


application.properties和application.yml文件可以放在一下四个位置:


  • 外置,在相对于应用程序运行目录的/congfig子目录里。
  • 外置,在应用程序运行的目录里
  • 内置,在config包内
  • 内置,在Classpath根目录

同样,这个列表按照优先级排序,也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性,如图:


 
技术分享图片
 

此外,如果你在相同优先级位置同时有application.properties和application.yml,那么application.yml里面的属性就会覆盖application.properties里的属性。

4、命令行参数

java -jar xx.jar --server.port=9090

 

可以看出,命令行中连续的两个减号--就是对application.properties中的属性值进行赋值的标识。
所以java -jar xx.jar --server.port=9090等价于在application.properties中添加属性server.port=9090
如果你怕命令行有风险,可以使用SpringApplication.setAddCommandLineProperties(false)禁用它。

 

springboot知识点

原文:https://www.cnblogs.com/jentary/p/11387450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!