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 ...
随机推荐
- 【Java面试题】23 java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
java5 以前, 有如下两种:第一种:new Thread(){}.start();这表示调用 Thread 子类对象的 run 方法, new Thread(){}表示一个Thread 的匿名子类 ...
- MySQL(二)之服务管理与配置文件修改和连接MySQL
上一篇给大家介绍了怎么在linux和windows中安装mysql,本来是可以放在首页的,但是博客园说“安装配置类文件”不让放在首页.接下来给大家介绍一下在linux和windows下MySQL的一下 ...
- MyBatis-使用mybatis-generator-core.jar生成POJO和Mapper文件
Demo: http://pan.baidu.com/s/1pLeyVv9 1.pom.xml <dependencies> <!-- 用于生成日志 --> <depen ...
- 学习 TList 类的实现[5]
先来实现 TMyList.SetCapacity. 马上会想到下面代码: procedure TMyList.SetCapacity(const Value: Integer); begin if ...
- Unity的Asset Store商店下载文件路径
如果之前在Asset Store商店下载过资源包,结果下次用的时候找不到了,不用急,其实Unity把它自动保到下面这个目录了,最后一个文件夹名与版本号有关,找到前面的即可. C:\Users\Admi ...
- VR资源浏览网站
https://my.matterport.com 资源 https://my.matterport.com/show/?m=kCeVCzCjQ5s
- cocos2d 中使用jni C++ 调用 Java 方法
1.简单数据类型样例 如果我们Java中有这么一个open的静态方法,它没有參数,有一个int的返回值.怎么在C++中调用它呢? package cb.CbCCBLE; public class Cb ...
- ftp简单命令
1.连接ftp ftp 192.168.10.15 进去后输入用户名 ,然后再输入密码,就这样登陆成功了,你会看到 ftp> 2.进入ftp后,你对目录需要切换操作.和linux一样的命令.cd ...
- Unity版本与虚拟现实头盔Deepoon大朋版本测试
一.看这里 Unity官方与OC runtime版本兼容性说明: https://developer.oculus.com/documentation/game-engines/latest/conc ...
- Redhat系列使用ISO或者光盘制作yum本地安装源
适用系统:redhat系列 示例系统:CentOS 6x86_64 环境:虚拟机 有时候做实验又不能联网的情况下想装一款软件时,经常会搞的头大:难道要去系统镜像中一个个拷出来再用rpm安装?各种依 ...