SpringBoot学习三:常用注解(配置相关)

SpringBoot常用注解(配置相关)

1.yml语法

★注意空格

yml中的写法

 

properties中的写法

2.@Value获取值和@ConfigurationProperties获取值比较

备注:

松散绑定:就是不区分配置文件中的大小写等等,都能获取到值

SpEL:配置文件中的计算获取的值

JSR303数据校验:例如在字段前面加@Emial注解,校验该字段是否为emial格式,如果不是,会报错!

复杂类型封装:例如map类型封装的数据

 

@Value获取值的代码

@RestController
public class HelloController {

    @Value("${person.lastName}")
    private String name;

    @RequestMapping("/sayHello")
    public String sayHello(){
        return "Hello," + name;
    }
}

@ConfigurationProperties获取值的代码(默认从全局配置文件中获取)

@PropertySource获取值的代码(从指定的配置文件目录获取

/**

* 将配置文件中配置的每一个属性的值,映射到这个组件中

* @ConfigurationProperties: 告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定

*      perfix = "person": 配置文件中哪个下面的所有属性进行一一映射

* @PropertySource:从指定的配置文件目录获取     

*只有这个组件是容器中的组件,才能提供@ConfigurationProperties功能,所有要加@Component注解

* */

@Component

@ConfigurationProperties(prefix = "person")     //默认从全局配置文件中获取

@PropertySource(value={"classpath:person.yml"}) //从指定的配置文件目录获取

@Data

public class Person1 {

    @Email //数据校验,是否为email

    private String lastName;

    private String age;

    private Boolean boss;

    private Date birth;

    private Map<String,Object> maps;

    private Dog dog;

}

应用场景:

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;

如果说,我们专门写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

另外如果需要从指定配置文件目录获取的时候,用@PropertySource;

 

3.@Configuration和@Bean

/**
*  @Configuration:指明当前类是一个配置类,就是来代替之前的Spring配置文件
*
*  相当于在配置文件中<bean><bean/>标签添加注解
*/
@Configuration
public class HelloConfig {
    @Bean //此注解就是将方法的返回值添加到容器中,容器中这个组件的默认ID就是方法名
    public HelloService helloService(){
        return new HelloService();
    }
}

 

3.配置文件占位符

例如:(yml)

person:
  lastName: xiwen${random.uuid}
  age: 18
  boss: true
  birth: 2018/07/07
  maps: {k1: v1,k2: v2}
  lists:
    - lisi
    - zhaowu
  dog:
    name: 小狗
    age: 2

4.激活指定profiles

 

5.配置文件加载位置

6.外部配置加载顺序(所有加载配置来源)

命令行参数:java -jar game-0.0.1-SNAPSHOT.jar --server.port=8080  --server.context-path=/abc

多个配置用空格分开;--配置项=值

7.自动配置的原理

备注:在yml中添加配置即可

#开启Spring Boot的debug,可以打印出自动配置报告

debug: true

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希文先森

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值