在spring boot
1.建立一个普通的bean,利用@ConfigurationProperties:
@Configuration
@ConfigurationProperties(locations = "classpath:properyname.properties", prefix = "datasource")
public class PropertyBean {
@NotBlank
private String driverClassName;
@NotBlank
private String url;
@NotBlank
private String userName;
....................get、set方法
开启扫描此bean,spring application会生成一个PropertyBean
2.@ConfigurationProperties会绑定properties中的值,并且支持层级关系
@ConfigurationProperties(locations = "classpath:mail.properties", ignoreUnknownFields = false, prefix = "mail") public class MailProperties { public static class Smtp { private boolean auth; private boolean starttlsEnable; // ... getters and setters } @NotBlank private String host; private int port; private String from; private String username; private String password; @NotNull private Smtp smtp;
3.利用@PropertySource注解
@Configuration @PropertySource("classpath:mail.properties") public class MailConfiguration { @Value("${mail.protocol}") private String protocol; @Value("${mail.host}") private String host; @Value("${mail.port}") private int port; @Value("${mail.smtp.auth}") private boolean auth; @Value("${mail.smtp.starttls.enable}") private boolean starttls; @Value("${mail.from}")
spring boot 会自动注入mail.properties中的值
mail.properties:
mail.host=localhost mail.port=25 mail.smtp.auth=false mail.smtp.starttls-enable=false mail.from=me@localhost mail.username= mail.password=
4.
@Configuration
@PropertySource("classpath:datasource.properties")
public class DataSourceConfig {
@Resource
private Environment env;
public void getValue() {
String name = env.getRequiredProperty("datasource.name");
}
datasource.properties:
datasource.username=root
参考:http://www.javacodegeeks.com/2014/09/using-configurationproperties-in-spring-boot.html
相关推荐
@ConfigurationProperties是Spring Boot提供的一种强大的特性,用于将配置文件(如application.properties或application.yml)中的键值对映射到Java对象的属性上。这使得我们可以更方便地管理和使用配置信息,尤其是...
在本文中,我们将深入探讨如何在Java Spring框架中利用`@Component`和`@ConfigurationProperties`注解将配置文件中的属性注入到bean中,并在控制台进行显示。这对于理解和掌握Spring框架的应用以及如何处理配置文件...
在Spring Boot中,属性注入是核心特性之一,它使得我们可以方便地将配置文件中的参数值注入到Bean类的属性中,从而实现灵活的配置管理。本文将详细讲解如何利用`@ConfigurationProperties`注解以及与`@...
在Spring Boot中,`@ConfigurationProperties` 是一个强大的特性,用于将配置文件(如application.properties或application.yml)中的键值对映射到Java对象的属性上。这使得开发者能够更方便地管理和使用配置信息,...
例如,创建一个`DemoProperties`类,声明对应的getter和setter方法,然后在`DemoAutoConfiguration`类中通过`@Autowired`注入这个对象,Spring Boot会自动将配置文件中的相应属性值填充到这个对象中。 如果需要更...
`PropertyPlaceholderConfigurer`是Spring早期版本中用于注入properties文件中值的bean,而`@ConfigurationProperties`是Spring Boot引入的,更适合现代Spring应用。 使用`PropertyPlaceholderConfigurer`的例子...
一旦配置类被定义并添加到Spring容器中,我们可以在任何需要的地方注入`CustomProperties`,然后通过getter方法获取属性值: ```java package com.example.service; import com.example.config.CustomProperties; ...
Spring Boot提供了简单且强大的方式来处理配置文件,特别是通过`application.yml`或`application.properties`。在这个主题中,我们将深入探讨如何利用Java代码从`application.yml`配置文件中获取相关属性,采用的是...
Spring Boot默认支持两种主要的属性文件格式:`application.properties`和`application.yml`。前者使用键值对形式,后者使用YAML(YAML Ain't Markup Language)语法,提供更丰富的结构化数据表示。 2. **外部化...
4. **使用`@ConfigurationProperties`**: 我们创建了一个名为`User`的Java类,用`@Component`标记使其成为Spring管理的bean,然后用`@PropertySource`指定属性文件,最后用`@ConfigurationProperties(prefix = "user...
1. **属性文件**:Spring Boot默认从`application.properties`或`application.yml`文件中读取配置。 2. **环境变量**:系统环境变量也可以作为配置源。 3. **命令行参数**:通过`--key=value`的形式在启动时指定。 4...
在`YmlConfig`类中,我们定义了getter和setter方法,以便Spring Boot可以通过这些方法注入配置属性的值。对于基本类型的属性(如`simpleProp`),需要提供setter方法;但对于集合和映射,Spring Boot会自动处理填充...
在应用启动后,Spring Boot会自动将`application.properties`中`database.*`开头的属性注入到这个类中。 在实际项目中,我们通常将敏感配置如数据库密码等存储在环境变量或外部配置中心(如Spring Cloud Config ...
Spring Boot引入了`@ConfigurationProperties`注解,允许我们将属性文件中的整个段落映射到一个Java类的字段上,提供更强大的类型安全和对象模型绑定。 7. **YAML格式** 虽然这里提到的是属性文件,但Spring Boot...
@ConfigurationProperties 是 Spring Boot 提供的一个注解,用于将 Property 文件的属性映射到当前类中。使用这个注解可以将 Property 文件的属性自动注入到对应的字段中。 例如,假设我们有一个名为 "my....
对于复杂配置,Spring Boot提供`@ConfigurationProperties`注解,可以将整个properties文件映射到一个bean: ```java @ConfigurationProperties(prefix = "database") public class DatabaseConfig { private ...
在`spring-demo09-读取properties配置文件内容`这个示例中,你可以学习到如何将配置文件的值注入到Java代码中,以便在程序运行时使用。通过这种方式,我们可以轻松地更改配置而无需修改代码,极大地提高了项目的可...
在Spring Boot应用中,@PropertySource注解是一个关键的组件,它允许我们从外部源加载属性值,使得我们的配置更加灵活和可维护。这个注解主要用于Spring框架,但与Spring Boot的集成使得它在现代Java应用程序中的...
`@Value`会自动从`properties`文件中查找对应的键,并将其值注入到字段中。 3. **Environment对象** 另一种获取配置的方式是通过`Environment`对象,它是SpringBoot应用中的一个核心组件。在需要配置信息的类中,...