SpringBoot配置文件

SpringBoot使用一个全局的配置文件,配置文件名是固定的

  • application.properties
  • application.yml

配置文件的作用:修改springboot自动配置的默认值

配置属性注入
properties配置

person.name=叶良辰
person.age=10
person.birth=2020/01/01
person.boss=true
person.map.k1=v1
person.map.k2=v2
person.list=a,b,c
person.dog.name=jeff
person.dog.age=3

yaml配置

Person:
  name: tom
  age: 8
  boss: false
  birth: 2020/10/7
  map: {k1: v1,k2: v2}
  list:
    - 苹果
    - 华为
    - 小米
  dog:
    name: job
    age: 3

组件


/**
 * 将配置文件中得属性一一映射到组件中
 * @ConfigurationProperties: 将yml文件中得属性与此组件绑定
 *     prefix = "person"  :绑定配置文件中的哪一个属性
 * @Component:此组件必须加入到容器中,加上此注解
 */
@Component
@ConfigurationProperties(prefix = "person")
public class Person {

    private String name;
    private Integer age;
    private Boolean boss;
    private Date birth;

    private Map<String,String> map;
    private List<String> list;
    private Dog dog;


}

使用@Value注解属性注入


/**
 * 将配置文件中得属性一一映射到组件中
 * @ConfigurationProperties: 将yml文件中得属性与此组件绑定
 *     prefix = "person"  :绑定配置文件中的哪一个属性
 * @Component:此组件必须加入到容器中,加上此注解
 */
@Component
//@ConfigurationProperties(prefix = "person")
public class Person {

    @Value("${person.name}")
    private String name;
    @Value("#{10*2}")
    private Integer age;
    @Value("true")
    private Boolean boss;
    private Date birth;

    private Map<String,String> map;
    private List<String> list;
    private Dog dog;

  
}

@PropertySource
加载指定路径的资源文件;默认是application.properties

标记在要属性注入的组件上
@PropertySource(value = {“classpath:/person.properties”})

@ImportResource
导入Spring配置文件,让配置文件的内容生效
SpringBoot不会识别我们自己创建的Spring配置文件,要想Spring配置文件生效,需要在SpringBoot主配置类上加入注解@ImportResource

@ImportResource(locations = {“classpath:beans.xml”})
标记在@SpringBootApplication上

SpringBoot推荐使用配置类的方式添加组件
配置类==Spring配置文件

/**
 * @Configuration指明当前类是配置类;用来代替之前的Spring配置文件
 *
 */
@Configuration
public class HelloConfig {
    
    /*
    @Bean :返回一个bean组件
    id: 方法名helloService
     */
    @Bean
    public HelloService helloService(){
        System.out.println("我被创建了");
        return new HelloService();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值