@ConfigurationProperties、@EnableConfigurationProperties实体类映射配置文件中属性值
1.第一种配置@Component+@ConfigurationProperties
配置类
@Component public class MyConfig1 { @Bean public User user(){ return new User(); } }
或者在User类上加@Component
@Data @ConfigurationProperties(prefix = "user") public class User { private String myName; private int age; public User(String myName, int age) { this.myName = myName; this.age = age; } public User(){ } @Override public String toString() { return "User{" + "myName='" + myName + '\'' + ", age=" + age + '}'; } }
application.properties
user.myName=zhangsan
user.age=20
第一种输出类
public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(StudyWork1Application.class, args); User user = run.getBean(User.class); System.out.println(user); }
第一种输出结果
第二种输出类
@RestController public class MyController { @Autowired private User user; @RequestMapping("/userInfo") public User getUser(){ return user; } }
访问
http://localhost:8080/userInfo
第二种输出结果
2.第二种配置@ConfigurationProperties+@EnableConfigurationProperties
配置类
@Component @EnableConfigurationProperties(User.class)
// 1.开始配置绑定功能
// 2.把这个User组件自动注册到容器中 public class MyConfig1 { }
@Data @ConfigurationProperties(prefix = "user") public class User { private String myName; private int age; public User(String myName, int age) { this.myName = myName; this.age = age; } public User(){ } @Override public String toString() { return "User{" + "myName='" + myName + '\'' + ", age=" + age + '}'; } }
同上输出
分类:
SpringBoot-第一阶段
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?