本编文章是对Spring利用@Value来直接注入properties文件中属性的简单记录
1.整体目录结构如下
2.pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>chengf</groupId>
<artifactId>spring-property-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-property-test</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.5.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.5.RELEASE</version>
</dependency>
</dependencies>
</project>
3.Appconfig类
package chengf.spring.property.test;
import org.springframework.beans.factory.annotation.Value;
/**
* @author chengf
*
*/
public class AppConfig
{
@Value("${name}")
private String name;
@Value("${age}")
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4.properties 文件
name=chengf
age=20
5.测试类
package chengf.spring.property.test;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@ContextConfiguration
public class AppConfigTest {
@Configuration
@PropertySource(value = { "classpath:test.properties" })
public static class Config {
@Bean
public AppConfig appConfig() {
return new AppConfig();
}
@Bean
public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer () {
return new PropertySourcesPlaceholderConfigurer ();
}
}
@Autowired
private AppConfig appConfig;
@Test
public void test() {
Assert.assertEquals("chengf", appConfig.getName());
Assert.assertEquals(20, appConfig.getAge());
}
}
junit 测试通过,表明已经通过@Value正确注入了properties中的属性
- 大小: 10.2 KB
分享到:
相关推荐
本篇文章将详细阐述`@Value`注解的使用方法,包括如何注入配置文件中的属性值以及如何利用SpEL(Spring Expression Language)进行动态注入。 ### 配置文件注入 1. **基本使用**:在`application.properties`或...
Spring中利用配置文件和@Value注解注入属性值代码详解 在Spring框架中,配置文件和@Value注解是两个常用的注入属性值的方法。本文将详细介绍如何使用配置文件和@Value注解注入属性值,并提供了代码示例。 一、简单...
通过配置文件的注入根据配置文件的来源又可分为两类:一类为默认的 Spring Boot 会自动加载的配置文件 application.properties 中的属性;另一类为自定义配置文件中的属性,需要先通过 @PropertySource 加载。 例如...
1. **属性文件**:Spring Boot默认从`application.properties`或`application.yml`文件中读取配置。 2. **环境变量**:系统环境变量也可以作为配置源。 3. **命令行参数**:通过`--key=value`的形式在启动时指定。 4...
在Spring框架中,@Value注解是一个非常重要的注解,它可以将属性文件中的值注入到Spring Bean中,使得配置更加灵活和灵活。但是,在实际开发中,我们经常会遇到@Value注解失效的问题。这篇文章将会详细介绍Spring @...
`@Value`注解是Spring框架的一部分,主要用于从属性文件或SpEL表达式中注入值。它的基本语法如下: ```java @Value("${property.name}") private String propertyName; ``` 在上面的例子中,`"${property.name}"`...
Spring框架提供了强大的属性配置管理,能够帮助开发者轻松地读取和使用properties文件中的key-value对。本教程将深入探讨如何在Spring中以不同的方式读取properties文件,以便更好地理解和应用这些配置。 首先,...
`util:properties`是Spring提供的一个XML元素,它可以像`PropertiesFactoryBean`一样加载属性文件。注入方式和上面相同: ```xml <util:properties id="config" location="dev.properties" /> @Value("#{config['...
Spring 自定义注解注入properties文件的值jar包,下面为使用方法 在xml配置文件中,这样加载properties文件 ...
在Java Spring框架中,`@Value`注解是用于注入属性值的一个重要工具,它可以从配置文件、表达式语言(SpEL)或者属性源中获取值,并将其赋值给bean的字段、方法或方法/构造函数参数。这个注解使得程序更加灵活,不...
在Spring框架中,`@Value`注解是一个非常实用的功能,用于从属性文件或表达式语言(SpEL)中注入值到字段、方法参数或构造函数参数中。然而,在使用`@Value`时,需要注意一些关键问题以确保正确地配置和使用。下面将...
Spring EL 表达式的主要作用是实现资源的注入,包括注入普通字符串、操作系统属性、表达式运算结果、其他 Bean 的属性、文件内容、网址内容、属性文件等。 在 Spring 框架中,我们可以使用 @Value 注解来实现资源...
除了上述方法,Spring还提供了`@Value`注解来在Java配置类中注入Properties的值。例如: ```java @Configuration public class AppConfig { @Value("${db.url}") private String dbUrl; @Value("${db.username...
同时,我们也可以使用 @Value 注解从配置文件中读取数据,例如从 cat.properties 文件中读取 parent 属性的值。 @PropertySource 注解是 Spring 框架中用于引入单个配置文件的注解。例如,在上面的示例代码中,我们...
Spring Value 注解是 Spring 框架中的一种重要注解,用于从 properties 文件中获取配置值。从 Spring 3 开始,Spring 框架支持使用 @Value 注解来简化读取配置文件的操作。 配置 properties 文件 在使用 @Value ...
在上面的代码中,我们使用 @PropertySource 注解来加载 application.properties 文件,然后使用 @Value 注解来注入配置文件中的值。 使用 Spring Boot 的 @Value 注解来给静态变量赋值需要使用非静态的 set 方法来...
Spring 3.0 引入了`@Value`注解,可以直接在字段或方法上注入properties文件中的值。这种方式更加灵活,无需XML配置: ```java @Component public class AppConfig { @Value("${db.driver}") private String ...
3. **@Value**:此注解可以用来注入基本类型的值或者从属性文件中读取的值。例如,`@Value("${property.name}")`可以从`application.properties`中获取配置。 4. **@Resource**:与`@Autowired`类似,但主要基于...
在本文中,我们将深入探讨Spring如何注入properties文件,并总结几种常用的方法。 首先,Spring提供了一种通过`<context:property-placeholder>`标签在XML配置文件中引入properties文件的方式。以下是一个例子: `...
Spring提供了一个`Properties`类,可以用来加载和管理属性文件。在Spring配置文件(如`applicationContext.xml`或`beans.xml`)中,我们可以创建一个`Properties` bean来加载`jdbc.properties`: ```xml ...