application.properties配置文件
1、键值对配置信息
server.port = 9090 //端口号
server.servlet.context-path = /chapter1 //应用的上下文路径,也可以称为项目路径,是构成url地址的一部分
2、参数间的引用:
com.didispace.blog.name = didi
com.didispace.blog.title = Spring Boot Learning
com.didispace.blog.desc = ${com.didispace.blog.name} is writing ${com.didispace.blog.
title}
3、通过命令行设置属性值
相信使用过一段时间Spring Boot的用户,一定知道这条命令: java -jar xxx.jar --server.port=8888 ,通过使用--server.port属性来设置xxx.jar应用的端口为8888。在命令行运行时,连续的两个减号 -- 就是对application.properties 中的属性值进行赋值的标
识。
SpringApplication.setAddCommandLineProperties(false) //屏蔽命令行访问属性的设置
4、多环境配置
在Spring Boot中多环境配置文件名需要满足 application-{profile}.properties 的格式,其
中 {profile} 对应你的环境标识,如:
application-dev.properties :开发环境
application-test.properties :测试环境
application-prod.properties :生产环境
至于哪个具体的配置文件会被加载,需要在 application.properties 文件中通
过 spring.profiles.active 属性来设置,其值对应 {profile} 值。
如:
spring.profiles.active=test //加载 application-test.properties 配置文件内容
5、使用随机数
在一些情况下,有些参数我们需要希望它不是个固定的值,如密钥、服务端口等。Spring Boot的
属性配置文件中可以通过 ${random} 来产生int值、long值或者string字符串,来支持属性的随机值。
# 随机字符串
com.didispace.blog.value=${random.value}
# 随机int
com.didispace.blog.number=${random.int}
# 随机long
com.didispace.blog.bignumber=${random.long}
# 10以内的随机数
com.didispace.blog.test1=${random.int(10)}
# 10-20的随机数
com.didispace.blog.test2=${random.int[10,20]}
6、数据库配置
#mysql数据库
#spring.datasource.url=jdbc:mysql://localhost:3306/chapter4?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
#spring.datasource.password=root
#spring.datasource.username=root
#postgresql数据库
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=19920318
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.hbm2ddl.auto=update
@注解
@ConfigurationProperties(prefix = "my2") //它可以把同类的配置信息自动封装成实体类
@Controller //修饰class,用来创建处理http请求的对象
@ModelAttribute User user ///获取url中的参数,用来创建User对象
@PathVariable Long id //获取url中的参数,如:/users/{id}
@RestController //Spring4之后加的注解,原来在 @Controller 中返回json需要 @ResponseBody 来配合,如果直接用 @RestController 替代 @Controller 就不需要再配置 @ResponseBody ,默认返回json格式。
@RequestMapping(value="/users/{id}", method=RequestMethod.GET) // 配置url映射
@RequestParam Striing username //获取页面传递的参数
@Value("${属性名}") //加载application.properties中属性名对应的值
网友评论