开发者学堂课程【SpringBoot 实战教程: 获取自定义配置的值】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/651/detail/10774
获取自定义配置的值
1、在项目中经常会自定义属性,比如把图片服务器的地址定义在 properties 文件中,叫 IMAGE_SERVER=http://127.0.0.0.1:8082/image
,左边是自己取的名字,右边是具体的图片服务器地址,当访问图片时要取到http://127.0.0.0.1:8082/image
这个值,服务器地址值,取到这个值要通过左边这个名称获取到对应的值。springboot 和 sringmac 取值方式是一样的。
2、创建 maven 工程,不使用骨架,Group id:com.qianfeng,Artifact i
d:SpringBoot_ Demo2
,打包方式选择jar。
3、点击 pom.xml 做父级依赖。
<parent>
<groupId>org . springframework.boot</groupId>
<arti factId>spring-boot-starter -parentk
<
/artifactId
>
<version>1.5.6. RELEASE</version>
</parent>
整合 web,依赖 springboot 提供的 strater pom。
<dependencies>
<dependency>
<groupId>org. springframework .boot</groupId>
<arti factId>spring-boot-starter-web</artifactId>
</ dependency
>
< / dependencies>
</project>
控制 jdk 的版本,使用一个插件。
<build>
<plugins>
<plugin>
<groupId>org .apache .maven . plugins</groupId>
<arti factId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</ configuration>
</plugin>
</plugins>
</build>
4、点击 maven-update project 更新。
5、自定义属性,要在全局配置文件中定义,可以是 properties 或者 yml,这里使用 properties。
6、book. Author=Tom
book . name=SpríỊngBoot
这两个值如何取?首先创建 controller,点击 class,命名为 com.qianfeng.controller,再创建一个 class,命名为 bookcontroller。
7、写注解 value,和 springmac 一样。
@Value ('$ { bookauthor} "
它就可以在配置文件中读到它的值,值赋给下边的成员变量。
@Controller
public class BookController {
@Value ("$ [book. author)")
Private String author ;
@Value ("$ [book . name] ")
Private String name ;
}
这就是取自定义属性的方式。再写一个功能。
@Controller
public class BookController
{
@Value ("$ [book. author)")
Private
String author ;
@Value ("$ (book. name) ")
Private
String
name ;
@Reques tMapping ("/bookInfo")
@ResponseBody
public String
showInfo()
{
return author+" : "+name ;
}
这需要直接返回两个成员变量的值,所以需要加上 responsebody。
8、如果让 springboot 工程启动,需要写程序运行的入口,就写在当前的 Controller 当中。springboot 会进行自动配置,加一个注解,这个注解会根据所依赖的 jar 包进行自动配置,启动,默认是8080。
@EnableAutoConfiguration
@Controller
public class BookController
{
@Value ("$ [book. author)")
Private
String author ;
@Value ("$ (book. name) ")
Private
String
name ;
@Reques tMapping ("/bookInfo")
@ResponseBody
public String
showInfo()
{
return author+" : "+name ;
}
public static void main (String []
args)
{
SpringAppl ication. run (BookController.class, args) ;
}
}
9、访问 Controller 叫 bookinfo,返回的内容是 tom
:
springboot
。
在网页中输入http://localhost:8080/booklnfo
。
这就是取自定义属性值的方式。
10、总结:
(1)在 application.properties 文件中自定义属性:例如 book.author=张三
book.name=SpringBoot
(2)使用 @Value($
{
book.author
}
")
获取自定义属性的值。