文章目录
引言
SpringBoot使用了一个全局的配置文件,配置文件名固定是application,配置文件后缀名为 .properties 或 .yml一、.yml配置文件
yml配置文件的格式:
k:(空格)v:表示一对键值对(空格必须有);
以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的属性和值也是大小写敏感;
代码如下(示例):
二、Properties文件的配置
springboot在application.properties文件中配置
代码如下(示例):
server.port=8081
user.name=lisi
user.age=12
三、Springboot如何注入属性
1.回顾Spring 的属性注入的方式
(1.set和get注入
<bean id="user" class="org.example.pojo.User">
<property name="username" value="admin"></property>
<property name="pwd" value="123456"></property>
</bean>
(2.构造方法注入
<bean id="user" class="com.yousian.pojo.User">
<constructor-arg name="username" value="admin"></constructor-arg>
<constructor-arg name="pwd" value="123456"></constructor-arg>
</bean>
(3.P名称空间注入
(4.springEL表达式注入
(5.注解方式注入:
@value,@Autowired,@Resourse
/*
* 实体类
* */
package org.example.pojo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.Email;
@Component
@ConfigurationProperties(prefix = "emp")
@Validated//数据校验
public class Emp {
//@Value注解支持字面量的注解方式
//@Value("lucy")
//使用@Value注解中获取属性
//@Value("${emp.empName}")
public String empName;
//@Value("女")
//@Value("${emp.sex}")
public String sex;
//@Value("14")
//使用SPEL表达式获取
@Value("#{12+6}")
public Integer age;
@Email
public String email;
//最大的区别就是@ConfigurationProperties支持数据校验,而@Value则不支持。
//略。。。。
#.yml配置文件中配置
emp:
empName: tom
sex: 男
age: 18
email: 2571824356@qq.com
2.Springboot注入属性的方式
使用@ConfigurationProperties(prefix=“前缀”)注解绑定pojo包下的实体类与.yml配置文件中的属性名一致
代码如下(示例):
使用@PropertySource注解
代码如下(示例):
/*
* 实体类
* */
@Component
@PropertySource(value = {"classpath:dept.properties"} )
@ConfigurationProperties(prefix = "dept")
public class Dept {
public Integer code;
public String deptName;
//略。。。。
使用 @ImportResource注解
代码如下(示例):
--------定义UserService类--------
package org.example.service;
public class UserService {
public void test(){
System.out.println("执行userService中的方法。。。。。");
}
}
--------定义bean.xml配置文件--------
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userService" class="org.example.service.UserService"></bean>
</beans>
--------在启动类上加@ImportResourse注解--------
四、springboot配置文件的加载位置
默认配置文 件
–file:./config/
项目根目录下面的config文件夹 优先级最高
–file:./
项目根目录下面
–classpath:/config/
resources文件夹下面的config文件夹
–classpath:/
resources文件夹下面 优先级最低
简单回顾在Spring中如何管理bean?
spring的bean的实例化方式
(1.实例工厂实例化方式
(2.静态工厂实例化方式
(3.无参构造方法的方式
(4.注解的方式
(5.Java配置类的方式管理bean
定义一个bean
定义一个配置类(@Configuration修饰类)
在类里面定义一个方法(专门管理bean)
以上就是今天的分享