@ConfigurationProperties与@value区别-LMLPHP@ConfigurationProperties与@value区别

 

@ConfigurationProperties

@value

功能批量注入配置文件中的属性一个个指定
松散绑定支持不支持
SpEl不支持支持
JSR303数据校验 支持 不支持
复杂类型封装支持不支持

@ConfigurationProperties与@value区别-LMLPHP@ConfigurationProperties与@value区别-LMLPHP

@ConfigurationProperties与@value区别-LMLPHP

  • 只是在某个业务逻辑中获取一下配置的某些值,使用@Value

  • 专门编写一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties
package com.hoje.springboot.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class helloController {
@Value("${person.last-name}")
private String name;
@RequestMapping("/sayHello")
public String sayHello(){
return "Hello "+ name;
}
}
05-11 20:47