spring中@value注解需要注意

摘要:
首先,@Value需要参数,参数可以是两种形式:@Value(“#{configProperties['t1.msgname']}”)或@Value(“${t1.msgname}”);接下来,让我们看看如何使用这两种形式以及配置中的区别:1.@Value(“#{configProperties['t1.msgname']}”)这种形式的配置包括“configProperties”。事实上

首先,@value需要参数,这里参数可以是两种形式:@Value("#{configProperties['t1.msgname']}")或者@Value("${t1.msgname}");
其次,下面我们来看看如何使用这两形式,在配置上有什么区别:
1、@Value("#{configProperties['t1.msgname']}")这种形式的配置中有“configProperties”,其实它指定的是配置文件的加载对象:配置如下:
  

  <bean   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   class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
        <property name="properties" ref="configProperties"/>
    </bean>

  




    如果直接指定配置文件的话,可以写成如下情况:
   

 <bean   class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
        <property name="location">
        <value>config/t1.properties</value>
        </property>
    </bean>

  

免责声明:文章转载自《spring中@value注解需要注意》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何查看网页缓存的密码python基础-6 字典相关练习题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

对象Bean与Map互转问题

一、摘要 在实际开发过程中,经常碰到需要进行对象与map之间互转的问题,其实对于对象、Map 之间进行互转有很多种方式,下面我们一起来梳理一下: 利用 JSON 工具包,将对象转成字符串,之后再转成 Map,这种需要转换2次,相对来说效率比较底; 利用 Java 反射,获取 Bean 类的属性和值,再转换到 Map 对应的键值对中,相对来说这种方法效率高...

mybatis整合ss的时候,无法autowire使用mapper的自动注入,找不到bean:NoSuchBeanDefinitionException

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDaoImpl': Injection of autowired dependencies failed; nested exception is org.sp...

[原创]Spring JdbcTemplate 使用总结与经验分享

引言 近期开发的几个项目,均是基于Spring boot框架的web后端项目,使用JdbcTemplate执行数据库操作,实际开发过程中,掌握了一些有效的开发经验,踩过一些坑,在此做个记录及总结,与各位读者分享。 欢迎留言与我交流。 正确使用JdbcTemplate执行数据库操作 1、Bean声明 新增类型DatabaseConfiguration,添加注...

@ConfigurationProperties 配置详解

文章转自 https://blog.csdn.net/qq_26000415/article/details/78942494 前言新的一年到了,在这里先祝大家新年快乐.我们在上一篇spring boot 源码解析12-servlet容器的建立 中 分析 ServerProperties时,发现其类上有@ConfigurationProperties 注解...

Spring IOC的三种主要注入方式?

常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。 构造方法注入先简单了解一下测试项目的结构,用maven构建的,四个包:    entity:存储实体,里面只有一个User类    dao:数据访问,一个接口,两个实现类    service:服务层,一个接口,一个实现类,实现类依赖于IUserDao    test:测试包在sp...

Error creating bean with name &amp;amp;#39;memcachedClient&amp;amp;#39;...java.lang.OutOfMemoryError

1,Tomcat启动报错例如以下: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'memcachedClient' defined in file [/usr/local/apache-tomcat-...