`
littie1987
  • 浏览: 133859 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Spring中@value注解的使用

阅读更多

首先,@value需要参数,这里参数可以是两种形式:@Value("#{configProperties['t1.msgname']}")或者@Value("${t1.msgname}");
其次,下面我们来看看如何使用这两形式,在配置上有什么区别:
1、@Value("#{configProperties['t1.msgname']}")这种形式的配置中有“configProperties”,其实它指定的是配置文件的加载对象:配置如下:
    <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath:/config/t1.properties</value>
            </list>
        </property>
    </bean>
    这样配置就可完成对属性的具体注入了;


    2、@Value("${t1.msgname}")这种形式不需要指定具体加载对象,这时候需要一个关键的对象来完成PreferencesPlaceholderConfigurer,这个对象的配置可以利用上面配置1中的配置,也可以自己直接自定配置文件路径。
    如果使用配置1中的配置,可以写成如下情况:
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
        <property name="properties" ref="configProperties"/>
    </bean>


    如果直接指定配置文件的话,可以写成如下情况:
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
        <property name="location">
        <value>config/t1.properties</value>
        </property>
    </bean>

分享到:
评论

相关推荐

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

    在Bean中使用`@Value`注解可以直接获取这些属性值: ```java @RestController public class ValueController { @Value("${user.name}") private String name; @Value("${user.password}") private String ...

    static静态变量使用@Value注入方式.md

    通过上述分析和示例,我们可以看到,在Spring框架中,虽然不能直接使用`@Value`注解为静态变量注入值,但可以通过定义一个非静态方法并使用`@Value`注解来间接实现这一目标。这种方法不仅避免了潜在的警告和错误,还...

    Springboot中@Value的使用详解

    在Springboot中,@Value注解广泛应用于将配置文件中的属性注入到Controller、Service、Configuration、Component等Spring托管的类中。下面是@Value注解的详细使用介绍: 1. 普通字符串注入 在配置文件中,我们可以...

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

    在Spring Boot框架中,`@Value`注解是Spring的核心组件之一,用于注入配置属性值到Bean中。这个注解提供了灵活的方式,让我们能够从不同的来源(如.properties或.yml文件,环境变量,命令行参数等)获取并注入值。...

    关于Spring中@Async注解使用

    Spring 中 @Async 注解的使用 @Async 注解是 Spring 框架提供的一种异步执行方法的实现方式,从 Spring 3.0 版本开始提供。使用 @Async 注解可以将方法标识为异步方法,通过 SimpleAsyncTaskExecutor 执行,但不...

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

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

    spring-demo13-注解-@Value.zip

    通过以上分析,我们可以看出"spring-demo13-注解-@Value.zip"项目旨在演示`@Value`注解的多种使用方式,包括从属性文件中读取值、使用SpEL表达式、注入不同数据类型以及提供默认值等。通过实际运行这个项目,开发者...

    Spring Boot系列四 Spring @Value 属性注入使用总结一

    Spring Boot系列四 Spring @Value 属性注入使用总结一

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

    当使用`#{configProperties['t1.msgname']}`这样的表达式时,Spring会从`t1.properties`文件中查找`t1.msgname`对应的值,并将其注入到`@Value`注解的目标字段或方法参数中。 2. `@Value("${t1.msgname}")` 这种...

    SpringValue注解

    2. @Value 注解只能在 Spring 管理的 Bean 中使用,在非 Spring 管理的工具类中,无法使用 @Value 注解来读取配置文件。这种情况下,需要使用静态方法来读取配置文件。 使用 @Value 注解的优点 使用 @Value 注解...

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

    Spring @Value 和 @PropertySource 注解使用方法解析 @Value 注解是 Spring 框架中用于将值注入到 Bean 中的注解。该注解可以用于注入基本字符串、EL 表达式、从配置文件读取数据等。例如,在上面的示例代码中,...

    Springboot在有参构造方法类中使用@Value注解取值

    在有参构造方法类中使用 @Value 注解取值需要我们构建一个 Config 类,并使用 SpringUtil 类来获取对应的 Bean。只有这样,我们才能使 @Value 注解生效,并获取到配置文件中的值。 在实际开发中,我们经常会遇到...

    Spring注解 - 52注解 - 原稿笔记

    在火狐中显示可能会有问题,大家都是程序员,改个参数就好啦 注解包含: 拦截器 , 过滤器 , 序列化 , @After , @AfterReturning , @AfterThrowing , @annotation , @Around , @Aspect , @Autowired , @Bean , @Before ,...

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

    Spring Boot 使用 Value 注解给静态变量赋值的方法 在 Spring Boot 框架中,我们经常需要将配置文件中的值注入到静态变量中,但是默认情况下,Spring Boot 不支持将值注入到静态变量中。这是因为静态变量是属于类的...

    @TypeDiscriminator注解实现多态对象的查询,jackson @JsonTypeInfo注解实现controller多态支持

    这两个注解结合使用,可以帮助我们在Spring Boot应用中构建一个完整、灵活的多态对象处理系统。通过理解和熟练运用这些技术,我们可以提升代码的可维护性和可扩展性,为复杂的应用场景提供强大的支持。

    示例代码-SpringBoot踩坑记录:玩转@Value注解-自定义PropertySourcesPlaceHolderConfigurer.zip

    在Spring Boot应用中,`@Value`注解是开发者经常使用的工具,用于注入配置属性值。这个注解可以从`application.properties`或`application.yml`等配置文件中读取值,并将其注入到字段、方法参数或者构造函数参数中。...

    java之SpringCache之@Cacheable注解的说明使用

    用来表示该方法返回结果存放在缓存中,当在使用相同参数调用该方法的时候,会优先在缓存中查找,不会立即执行下面的方法! 重点来了哦!这里面说的“相同参数”一定要正确理解,也就是说同一个方法使用了@Cacheable...

    spring在@Bean注解中initMethod调用方法异步

    在Spring框架中,`@Bean`注解是一个关键的组件,用于声明一个方法将返回的对象作为Spring容器中的bean。在`@Bean`中定义`initMethod`属性,可以指定该bean初始化时需要调用的方法。当`initMethod`被设置为异步执行,...

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

    在Spring框架中,`@Value`注解是一个非常实用的工具,它允许我们在不编写复杂的配置文件的情况下,直接在Java类中注入属性值。本文将详细介绍通过`@Value`注解注入属性的几种常见方式。 ### 1. 基于属性文件注入 #...

    关于Spring注解@Async引发其他注解失效的解决

    在文章中,作者介绍了一个典型的场景:在一个 Bean 中注入自己,并使用 @Async 和 @Transaction 注解。但是,当使用 @Autowire 注入自己时,会报循环依赖错误;而使用 BeanFactoryAware 注入自己时,会导致 @...

Global site tag (gtag.js) - Google Analytics