SpringBoot详解

■注解介绍:
一 @Configuration:
1.该类是一个配置类
2.加了@Configuration注解的类,会自动纳入Spring 容器(@Component)

@Configuration//表示A是一个 用于 配置的类
public class A{}

二 @ConfigurationProperties:

@Component 
@ConfigurationProperties(prefix="student")
public class Student {}

然后在yml文件赋值:

student:
  name: zs
  age: 23
  sex: true
  birthday: 2019/02/12

绑定: @ConfigurationProperties(yml/properties) @Value(“xx”) 二者可以互补
区别:

			@ConfigurationProperties		@Value
注值		     		批量注入         	单个
松散语法					支持				不支持
SpEL					不支持				支持
JSR303数据校验			支持				不支持
注入复杂类型				支持				不支持
在springboot中,简单类型:(8个基本类型/String/Date)

三 @PropertySource:
默认会加载application.properties/application.yml文件中的数据;
也可以自定义配置 加载指定配置文件:
例如@PropertySource(value={“classpath:conf.properties”})
加载conf.properties文件中的数据;
但是,@PropertySource只能加载properties,不能加载yml

■默认全局配置文件:
application.properties : key=value
application.yml :不是一个标记文档。
注意:1. key:空格value 2.通过垂直对齐 指定层次关系 3.默认可以不写引号; "xxx"会将其中的转义符进行转义,其他不会 4.[Set/List/数组], {map,对象类型的属性},并且 []可省,{}不能省

server:
	port: 8882
	path: /a/b/c

xml:是一个标记文档

<server>
		<port>8882</port>
		<path>/a/b/c</path>
</server>

■如何知道 spring boot开启了哪些自动装配、禁止了哪些自动装配:
application.properties/yml中 debug=true/debug: true
Positive matches列表 表示 spring boot自动开启的装配
Negative matches列表 表示spring boot在此时 并没有启用的自动装配。

■多环境的切换:
yml配置文件:

#第一个环境(主环境)
	server:
  		port: 8883
	spring:
 	 	profiles:
   			 active: dev  #指定本次采用的环境
	#第二个环境
	---
	server:
		port: 8884
	spring:
 		profiles: dev  #环境名
    ---
	server:
		port: 8885
	spring:
 		profiles: test  #环境名

■配置文件的位置:
i.项目内部的配置文件:
properties和yml中的配置,相互补充;如果冲突,则properties优先级高。
spring boot默认能够读取的application.properties/application.yml,这2个文件 可以存在于以下4个地方:
file:项目根目录/config application.properties
file:项目根目录 application.properties
classpath:config application.properties
classpath:application.properties
注意:
a.如果某项配置冲突,则优先级从上往下
b.如果不冲突,则互补结合使用
配置项目名:
properties文件中
server.servlet.context-path=/boot
配置之后URL则必须是http://localhost:8080/boot/xxx
默认是http://localhost:8080

ii.项目外部的配置文件: (补救)
在Eclipse中:Run configuration ,argumenets:
–spring.config.location=D:/application.properties
如果 同一个配置 同时存在于 内部配置文件 和外部配置文件,
则外部>内部
在外部配置文件:
通过命令行 调用外部配置文件java -jar 项目.jar --spring.config.location=D:/application.properties
iii.项目运行参数: (补救)
在项目Run configuration ,argumenets:–server.port=8883
通过命令行 调用外部配置文件
java -jar 项目.jar --server.port=8883
多个地方配置时,如果冲突,优先级:命令参数(调用外部的配置文件 > 运行参数 )>内部文件 (properties>yaml)

先写(复制)到这吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值