spring boot 学习笔记(二):项目属性配置
2017-09-18 16:40
766 查看
创建一个spring boot + maven项目,附上我最终的项目目录结构:
一、application.properties文件
在我们创建的项目中有一个默认的application.properties配置文件,在这个配置文件中我们可以修改项目一下配置:
修改启动端口及路径:
在这里我推荐另一种配置文件的方式进行配置,以application.yml文件进行配置,后面我也以application.yml方式为例,在application.yml文件中配置的格式为:
这里需要注意一点的是,port后面必须要用空格,不然配置是错误的,在eclipse中不加空格前面的port显示为黑色,正确的情况下port应该显示为绿色(我使用的工具为eclipse,在IDEA也是一样,有颜色区别)。
正确情况:
错误情况(同时在eclipse中有错误提示):
二、自定义属性配置
下面介绍一下自定义属性的使用:
1、首先在application.yml中增加cupSize,age属性
2、在controller文件使用增加的属性:
通过@Value注解方式使用:
启动验证:
这里我们可以看到,我们并没有在配置文件中指定属性的数据类型,只需在java类中指定即可。
3、在配置文件中使用配置的属性:
下面介绍一种在配置文件中使用其他属性的一种方式。
这里我们可以看到,使用content: “cupSize: cupSize===age:{age}”的方式,在content中引用cupSize和age。然后在controller通过前面说到的方式引用content,测试效果:
三、使用类的方式引用配置属性
看到这,相信有不少的人觉得这种方式太繁琐,如果我有十个或者更多的属性,那岂不是在controller中要加对应个数的@Value注解,这显然太繁琐,所以我们就有了下面这种方式。
1、首先,修改application.yml配置文件:
类似于给cupSize和age增加了一个girl的头。
2、然后,我创建一个GirlProperties类,并在其中添加对应的属性,并添加get,set方法。
这里的@ConfigurationProperties(prefix = “girl”)注解将配置文件中girl中属性映射到该类中;
@Component注解不添加的话,在controller中引用会提示无法注入bean
3、在controller中@Autowired通过引用该类,启动项目,测试效果:
本篇文章是我在慕课网上学习spring boot是的笔记,如果觉得我写的不够清楚可以去慕课网上学习,视频地址:http://www.imooc.com/learn/767
一、application.properties文件
在我们创建的项目中有一个默认的application.properties配置文件,在这个配置文件中我们可以修改项目一下配置:
修改启动端口及路径:
server.port=8081 server.context-path=/girl
在这里我推荐另一种配置文件的方式进行配置,以application.yml文件进行配置,后面我也以application.yml方式为例,在application.yml文件中配置的格式为:
server: port: 8080 context-path: /girl
这里需要注意一点的是,port后面必须要用空格,不然配置是错误的,在eclipse中不加空格前面的port显示为黑色,正确的情况下port应该显示为绿色(我使用的工具为eclipse,在IDEA也是一样,有颜色区别)。
正确情况:
错误情况(同时在eclipse中有错误提示):
二、自定义属性配置
下面介绍一下自定义属性的使用:
1、首先在application.yml中增加cupSize,age属性
2、在controller文件使用增加的属性:
通过@Value注解方式使用:
package com.springboot.gril.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController {< 9f84 /span> @Value("${cupSize}") private String cupSize; @Value("${age}") private Integer age; @RequestMapping("hello") public String say(){ String text = "cupSize:" + cupSize + "; age:" + age; return text; } }
启动验证:
这里我们可以看到,我们并没有在配置文件中指定属性的数据类型,只需在java类中指定即可。
3、在配置文件中使用配置的属性:
下面介绍一种在配置文件中使用其他属性的一种方式。
这里我们可以看到,使用content: “cupSize: cupSize===age:{age}”的方式,在content中引用cupSize和age。然后在controller通过前面说到的方式引用content,测试效果:
三、使用类的方式引用配置属性
看到这,相信有不少的人觉得这种方式太繁琐,如果我有十个或者更多的属性,那岂不是在controller中要加对应个数的@Value注解,这显然太繁琐,所以我们就有了下面这种方式。
1、首先,修改application.yml配置文件:
类似于给cupSize和age增加了一个girl的头。
2、然后,我创建一个GirlProperties类,并在其中添加对应的属性,并添加get,set方法。
package com.springboot.gril; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "girl") public class GirlProperties { private String cupSize; private Integer age; public String getCupSize() { return cupSize; } public void setCupSize(String cupSize) { this.cupSize = cupSize; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
这里的@ConfigurationProperties(prefix = “girl”)注解将配置文件中girl中属性映射到该类中;
@Component注解不添加的话,在controller中引用会提示无法注入bean
3、在controller中@Autowired通过引用该类,启动项目,测试效果:
本篇文章是我在慕课网上学习spring boot是的笔记,如果觉得我写的不够清楚可以去慕课网上学习,视频地址:http://www.imooc.com/learn/767
相关文章推荐
- Spring Boot学习笔记-项目属性的简单配置
- Spring boot 学习笔记(1)——hello world创建,属性application.properties、 yml配置
- 携程 Apollo 配置中心 | 学习笔记(三) 自定义Spring Boot项目通过配置中心启动项目
- Spring Boot学习笔记-自定义配置
- Spring 学习笔记 4. 尚硅谷_佟刚_Spring_属性配置细节
- Spring Boot 学习笔记(五) 配置Servlet容器
- springboot学习笔记-2 一些常用的配置以及整合mybatis
- springboot-项目属性配置
- SpringBoot学习笔记——项目属性配置
- SpringBoot学习笔记(四) SpringBoot Web相关的自动配置
- Spring4 学习笔记(4)-Spring 属性配置的一些细节
- SpringBoot学习笔记-Eclipse创建SpringBoot项目
- [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件
- Spring-Boot学习笔记(二) 配置文件之初步使用
- springboot学习笔记2(拦截器,redis,授权登录,读取yml配置文件)
- Spring Boot 2--项目属性配置案例
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
- Spring Boot学习笔记-配置devtools实现热部署
- SpringBoot学习笔记(5) Spring Boot集成Redis实现自动配置
- SpringBoot学习笔记(3) Spring Boot 运行原理,自动配置