SpringBoot项目属性配置
如果使用IDEA创建Springboot项目,默认会在resource目录下创建application.properties文件,在SpringBoot项目中,也可以使用yml类型的配置文件代替properties文件,下面我们具体介绍:
1.应用配置文件(.properties或.yml):
1.在resource目录下创建application.properties文件,并添加一些配置:
server.port=8081
server.context-path=/girl
2.在resource目录下创建application.yml文件,并添加一些配置:
#注意:在yml文件中添加value值时,value前面需要加一个空格
server:
port: 8081
context-path: /girl #使用localhost:8081/girl/hello
cupSize :B
2.单个的获取配置文件中的内容:
在字段上使用@Value("${配置文件中的key}"
)的方式获取单个的内容
1.在resource目录下创建application.yml文件,并添加一些配置,在yml文件中,key:后面需要添加一个空格,然后是value值,假设配置如下:
#注意:在yml文件中添加value值时,value前面需要加一个空格
ip: 127.0.0.0
port: 8080
2.创建一个ConfigController类,获取配置文件中的内容并赋值给相应的字段:
@RestController
public class ConfigController {
@Value("${ip}")//获取application.yml文件中名为ip的value值
private String ip;
@Value("${port}")//获取application.yml文件中名为port的value值,并且自动完成数据类型转换
private Integer port;
@RequestMapping("/config")
public String config() {
return "ip:"+ip+",port:"+port;
}
}
3.在浏览器中输入http://localhost:8080/config,可以看到输出了配置文件中配置的内容:
4.当然也可以在配置里面使用当前配置,如下:
ip: 127.0.0.0
port: 8080
content: "ip:${ip},port:${port}"
@Value("${content}")
private String content;
3.使用Bean自动注入获取配置文件中的内容:
假如配置文件中有很多内容,一个一个获取将会很麻烦,那么我们另外一种方式去获取配置文件中的信息
1.在配置文件中添加以下信息(注意格式),此处我们使用了一个名为devconfig的前缀:
devconfig:
ip: 127.0.0.0
port: 8080
2.创建ConfigBean,在类中添加@Componet和@ConfigurationProperties注解,其prefix设置为devconfig,将获取yml中前缀为devconfig下的配置信息:
@Component
@ConfigurationProperties(prefix = "devconfig")//获取前缀为devconfig下的配置信息
public class ConfigBean {
private String ip;//名字与配置文件中一致
private Integer port;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public Integer getPort() {
return port;
}
public void setPort(Integer port) {
this.port = port;
}
}
3.在ConfigController中使用@Autowrite对bean自动注入,实例化bean:
@RestController
public class ConfigController {
//自动注入,实例化bean
@Autowired
private ConfigBean configBean;
@RequestMapping("/config")
public String config() {
return "另一种方式: ip:"+configBean.getIp()+",port:"+configBean.getPort();
}
}
4.多个配置文件切换的使用:
1.假设开发环境使用ip为:127.0.0.0,使用端口为:8080,生产环境使用ip为:127.0.0.1,使用端口为:8081
下面来修改配置文件,在resource目录下创建application-produce.yml和生产环境配置文件application-dev.yml:
config:
ip: 127.0.0.0
port: 8080
config:
ip: 127.0.0.1
port: 8081
application.yml中配置生效的配置文件,此处设为produce,也就是使用application-produce.yml文件:
spring:
profiles:
active: produce
2.也可通过启动jar包时添加参数来更改生效的配置文件,命令为:java -jar XXX.jar –spring.profiles.active=poduce(这样就可以多环境下同时使用了)
SpringBoot项目属性配置的更多相关文章
- SpringBoot项目属性配置-第二章
SpringBoot入门 1. 相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了 ...
- springboot项目属性配置及注意事项
在idea编辑器建的springboot项目中的resources包下的application.properties这个就是配置文件. 另外配置文件的文件名还可以是application.yml,在r ...
- spring boot学习(2) SpringBoot 项目属性配置
第一节:项目内置属性 application.properties配置整个项目的,相当于以前的web.xml: 注意到上一节的访问HelloWorld时,项目路径也没有加:直接是http://loca ...
- SpringBoot 入门:项目属性配置
开发一个SpringBoot 项目,首当其冲,必然是配置项目 一.项目属性配置 1. SpringBoot自带了Tomcat服务器,通过使用项目配置文件来修改项目的配置,如图配置了部署在80端口,目录 ...
- Spring Boot项目属性配置
接着上面的入门教程,我们来学习下Spring Boot的项目属性配置. 1.配置项目内置属性 属性配置主要是在application.properties文件里配置的(编写时有自动提示)这里我们将se ...
- VS项目属性配置实验过程
(原创,转载注明出处:http://www.cnblogs.com/binxindoudou/p/4017975.html ) 一.实验背景 cocos2d-x已经发展的相对完善了,从项目的创建.编译 ...
- VS IDE 中Visual C++ 中的项目属性配置
VS IDE 中Visual C++ 中的项目属性配置 一. Visual C++ 项目系统基于 MSBuild. 虽然可以直接在命令行上编辑 XML 项目文件和属性表,我们仍建议你使用 VS IDE ...
- Spring-Boot项目中配置redis注解缓存
Spring-Boot项目中配置redis注解缓存 在pom中添加redis缓存支持依赖 <dependency> <groupId>org.springframework.b ...
- [02] SpringBoot的项目属性配置
1.application.properties 简述 配置文件的使用和调整都非常方便,直接在项目默认的classpath下的application.properties文件中做调整即可.例如Spri ...
随机推荐
- Linux基础知识之history的详细说明
背景:history是Linux中常会用到内容,在工作中一些用户会突然发现其安装不了某个软件,于是寻求运维人员的帮助,而不给你说明他到底做了哪些坑爹的操作.此时你第一件要做的就是要查看其history ...
- html dom基本操作
//div出滚动条: <div id="discussion" style="height:500px;overflow:auto;"></d ...
- datepicker防手动输入
在<input>中加入readonly="readonly"
- 搜集的一些酷炫的金属色 ,RGB值 和大家分享一下
开发iOS程序过程中会使用到RGB,要注意每个RGB值都要除以 255.0 ,注意: ' .0 ' 不能省!! 一下是本人搜集的一些酷炫金属色的RGB值: 黄金 242,192,86 石墨 87, ...
- [转]wcout输出中文却不显示出来
准备使用UNICODE来写个控制台测试程序发现,cout无法输出UNICODE的中文字符.查找C++标准看到,其提供了wcin.wcout.wcerr.wclog用于处理wchar_t字符的输入输出. ...
- 拼凑sql语句另外一个方法
经常拼凑sql语句,经常是手工拼写 也可以利用字典另外一个模式拼凑 这里采用的是Dictionary中的Aggregate方法. 代码如下: static void Main(string[] arg ...
- ASP------字符串与HTML格式相互转换
代码: 1.字符串转HTML HttpUtility.HtmlDecode(" is ") 或者 Server.UrlDecode(" is ") 2.HTML ...
- MFC 小知识总结五
1 移动无标题对话框 响应WM_NCHITTEST 消息 [cpp] view plaincopy LRESULT CTimeJishiDlg::OnNcHitTest(CPoint point) ...
- 原来javascript 自带 encodeURI 和 decodeURI文 方法了
今天百度一下才知道js 自带 encodeURI 和 decodeURI 方法了,之前还找了其他代码来处理(笑哭了.jpg <script type="text/javascript& ...
- background-clip和background-origin
background-clip 修剪:背景颜色从哪些区域开始显示,默认从border开始该属性指定了背景在哪些区域可以显示,但与背景开始绘制的位置无关,背景的绘制的位置可以出现在不显示背景的区域,这时 ...