springboot的配置

Springboot的配置


引言

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)

以上就是今天的分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值