我们可以在bean的属性上使用@value注解,直接读取yml中的值,如:
application.yml:
name: Zhangsan
Bean:
NetShop软件特点介绍: 1、使用ASP.Net(c#)2.0、多层结构开发 2、前台设计不采用任何.NET内置控件读取数据,完全标签化模板处理,加快读取速度3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录5、后台内置强大的功能,整合多家网店系统的功能,加以优化。6、支持三种类型的数据库:Acces
0
public class MyBean {
@Value("${name}")
private String name;
}我们可以通过注入Environment对象来读取yml值,如:
@Autowired
private Environment environment;
public void doSomething() {
String name = environment.getProperty("name");
}我们可以使用@ConfigurationProperties注解将yml中的值映射到bean的属性上,如:
application.yml:
my:
name: Zhangsan
age: 18Bean:
@Component
@ConfigurationProperties(prefix = "my")
public class MyProps {
private String name;
private int age;
// getter and setter
}我们可以使用YmlPropertySourceFactory来加载yml文件,然后像普通Properties一样读取值,如:
@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
factory.setResources(new ClassPathResource("application.yml"));
factory.getObject().forEach((k, v) -> System.out.println(k + ": " + v));
return factory;
}如果yml文件中用—分隔了多个文档,我们可以使用@YamlComponent注解将每份文档映射到一个bean上,如:
application.yml:
my: name: Zhangsan --- my: name: Lisi
Beans:
@Component("first")
@YamlComponent(value = "my.first")
public class FirstProps {
private String name;
}
@Component("second")
@YamlComponent(value = "my.second")
public class SecondProps {
private String name;
}可以根据需求选择其中5种主要方式,Spring Boot可以读取yml文件。yml作为Spring Boot默认的配置文件格式,理解如何操纵yml文件将有助于我们实现系统配置的灵活性。
以上就是SpringBoot读取yml文件的3种方式的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号