`

Spring 利用@Value注入properties文件属性

阅读更多
本编文章是对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
分享到:
评论

相关推荐

    基于Spring boot @Value 注解注入属性值的操作方法

    本篇文章将详细阐述`@Value`注解的使用方法,包括如何注入配置文件中的属性值以及如何利用SpEL(Spring Expression Language)进行动态注入。 ### 配置文件注入 1. **基本使用**:在`application.properties`或...

    Spring中利用配置文件和@value注入属性值代码详解

    Spring中利用配置文件和@Value注解注入属性值代码详解 在Spring框架中,配置文件和@Value注解是两个常用的注入属性值的方法。本文将详细介绍如何使用配置文件和@Value注解注入属性值,并提供了代码示例。 一、简单...

    Spring@Value属性注入使用方法解析

    通过配置文件的注入根据配置文件的来源又可分为两类:一类为默认的 Spring Boot 会自动加载的配置文件 application.properties 中的属性;另一类为自定义配置文件中的属性,需要先通过 @PropertySource 加载。 例如...

    Spring Boot技术知识点:如何理解@Value注解

    1. **属性文件**:Spring Boot默认从`application.properties`或`application.yml`文件中读取配置。 2. **环境变量**:系统环境变量也可以作为配置源。 3. **命令行参数**:通过`--key=value`的形式在启动时指定。 4...

    Spring @Value注解失效问题解决方案

    在Spring框架中,@Value注解是一个非常重要的注解,它可以将属性文件中的值注入到Spring Bean中,使得配置更加灵活和灵活。但是,在实际开发中,我们经常会遇到@Value注解失效的问题。这篇文章将会详细介绍Spring @...

    spring-demo13-注解-@Value.zip

    `@Value`注解是Spring框架的一部分,主要用于从属性文件或SpEL表达式中注入值。它的基本语法如下: ```java @Value("${property.name}") private String propertyName; ``` 在上面的例子中,`"${property.name}"`...

    Spring 读取properties文件key+value方式.rar

    Spring框架提供了强大的属性配置管理,能够帮助开发者轻松地读取和使用properties文件中的key-value对。本教程将深入探讨如何在Spring中以不同的方式读取properties文件,以便更好地理解和应用这些配置。 首先,...

    详解Spring通过@Value注解注入属性的几种方式

    `util:properties`是Spring提供的一个XML元素,它可以像`PropertiesFactoryBean`一样加载属性文件。注入方式和上面相同: ```xml &lt;util:properties id="config" location="dev.properties" /&gt; @Value("#{config['...

    Spring 自定义注解注入properties文件的值jar包

    Spring 自定义注解注入properties文件的值jar包,下面为使用方法 在xml配置文件中,这样加载properties文件 ...

    属性赋值@Value1

    在Java Spring框架中,`@Value`注解是用于注入属性值的一个重要工具,它可以从配置文件、表达式语言(SpEL)或者属性源中获取值,并将其赋值给bean的字段、方法或方法/构造函数参数。这个注解使得程序更加灵活,不...

    spring中@value注解需要注意的问题

    在Spring框架中,`@Value`注解是一个非常实用的功能,用于从属性文件或表达式语言(SpEL)中注入值到字段、方法参数或构造函数参数中。然而,在使用`@Value`时,需要注意一些关键问题以确保正确地配置和使用。下面将...

    Spring EL表示式的运用@Value说明

    Spring EL 表达式的主要作用是实现资源的注入,包括注入普通字符串、操作系统属性、表达式运算结果、其他 Bean 的属性、文件内容、网址内容、属性文件等。 在 Spring 框架中,我们可以使用 @Value 注解来实现资源...

    Spring3.0 配置文件中加载Properties文件的小例子

    除了上述方法,Spring还提供了`@Value`注解来在Java配置类中注入Properties的值。例如: ```java @Configuration public class AppConfig { @Value("${db.url}") private String dbUrl; @Value("${db.username...

    Spring @value和@PropertySource注解使用方法解析

    同时,我们也可以使用 @Value 注解从配置文件中读取数据,例如从 cat.properties 文件中读取 parent 属性的值。 @PropertySource 注解是 Spring 框架中用于引入单个配置文件的注解。例如,在上面的示例代码中,我们...

    SpringValue注解

    Spring Value 注解是 Spring 框架中的一种重要注解,用于从 properties 文件中获取配置值。从 Spring 3 开始,Spring 框架支持使用 @Value 注解来简化读取配置文件的操作。 配置 properties 文件 在使用 @Value ...

    Spring Boot使用Value注解给静态变量赋值的方法

    在上面的代码中,我们使用 @PropertySource 注解来加载 application.properties 文件,然后使用 @Value 注解来注入配置文件中的值。 使用 Spring Boot 的 @Value 注解来给静态变量赋值需要使用非静态的 set 方法来...

    SSM 读取properties文件

    Spring 3.0 引入了`@Value`注解,可以直接在字段或方法上注入properties文件中的值。这种方式更加灵活,无需XML配置: ```java @Component public class AppConfig { @Value("${db.driver}") private String ...

    day38 17-Spring的Bean的属性注入:注解方式

    3. **@Value**:此注解可以用来注入基本类型的值或者从属性文件中读取的值。例如,`@Value("${property.name}")`可以从`application.properties`中获取配置。 4. **@Resource**:与`@Autowired`类似,但主要基于...

    谈谈Spring 注入properties文件总结

    在本文中,我们将深入探讨Spring如何注入properties文件,并总结几种常用的方法。 首先,Spring提供了一种通过`&lt;context:property-placeholder&gt;`标签在XML配置文件中引入properties文件的方式。以下是一个例子: `...

    spring,配置文件从属性文件读取JDBC连接的相关参数

    Spring提供了一个`Properties`类,可以用来加载和管理属性文件。在Spring配置文件(如`applicationContext.xml`或`beans.xml`)中,我们可以创建一个`Properties` bean来加载`jdbc.properties`: ```xml ...

Global site tag (gtag.js) - Google Analytics