博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
企业级 SpringBoot 教程 (二)Spring Boot配置文件详解
阅读量:6587 次
发布时间:2019-06-24

本文共 2036 字,大约阅读时间需要 6 分钟。

springboot采纳了建立生产就绪Spring应用程序的观点。 Spring Boot优先于配置的惯例,旨在让您尽快启动和运行。在一般情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做修改一些配置,或者需要有自己的配置属性。

一、自定义属性

当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/resources目录下创建一个application.properties。个人习惯,我会将application.properties改为application.yml文件,两种文件格式都支持。

在application.yml自定义一组属性:

my: name: forezp age: 12复制代码

如果你需要读取配置文件的值只需要加@Value(“${属性名}”):

@RestControllerpublic class MiyaController {     @Value("${my.name}")    private String name;    @Value("${my.age}")    private int age;     @RequestMapping(value = "/miya")    public String miya(){        return name+":"+age;    } }复制代码

 启动工程,访问:localhost:8080/miya,浏览器显示:

forezp:12复制代码

二、将配置文件的属性赋给实体类

当我们有很多配置属性的时候,这时我们会把这些属性作为字段来创建一个javabean,并将属性值赋予给他们,比如:

my: name: forezp age: 12 number:  ${random.int} uuid : ${random.uuid} max: ${random.int(10)} value: ${random.value} greeting: hi,i'm  ${my.name}复制代码

其中配置文件中用到了${random} ,它可以用来生成各种不同类型的随机值。

怎么讲这些属性赋于给一个javabean 呢,首先创建一个javabean :

@ConfigurationProperties(prefix = "my")@Componentpublic class ConfigBean {     private String name;    private int age;    private int number;    private String uuid;    private int max;    private String value;    private String greeting;     省略了getter setter....复制代码

需要加个注解@ConfigurationProperties,并加上它的prrfix。另外@Component可加可不加。另外spring-boot-configuration-processor依赖可加可不加,具体原因不详。

org.springframework.boot
spring-boot-configuration-processor
true
复制代码

另外需要在应用类或者application类,加EnableConfigurationProperties注解。

@RestController@EnableConfigurationProperties({ConfigBean.class})public class LucyController {    @Autowired    ConfigBean configBean;     @RequestMapping(value = "/lucy")    public String miya(){        return configBean.getGreeting()+" >>>>"+configBean.getName()+" >>>>"+ configBean.getUuid()+" >>>>"+configBean.getMax();    }复制代码

启动工程,访问localhost:8080/lucy,我们会发现配置文件信息读到了。

完整项目的源码来源 技术支持1791743380 

转载于:https://juejin.im/post/5c73952af265da2dbf5f0f68

你可能感兴趣的文章
锁-概念:可重入锁、可中断锁、公平锁、读写锁
查看>>
参加培训的感想
查看>>
linux 查找并删除
查看>>
数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树
查看>>
request使用
查看>>
Win10文件管理器那些你不知道的秘密
查看>>
更改MyEclipse的默认编码
查看>>
Nordic Collegiate Programming Contest 2016
查看>>
cisco 交换机设置时区、时间、同步日志本地时间等操作
查看>>
获取网页源码
查看>>
从oracle到mysql,主从到分库,一个普通项目数据库架构的变迁
查看>>
数据结构
查看>>
一个简简单单检测http服务状态的脚本
查看>>
单例模式2014-12
查看>>
win32 ——定时器消息 小程序:打印时间
查看>>
USACO全部月赛及GateWay数据
查看>>
【AtCoder】ARC 081 E - Don't Be a Subsequence
查看>>
1 4 空格替换
查看>>
【专题】概率和期望
查看>>
从零开始学wordpress 之四
查看>>