有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaSpring3。0注释

我有一个属性文件converterValues。具有以下数据的属性值一=1,值二=2 我正在尝试使用注释

@Value("#{converterValues.valueOne}")
private transient String dataValue;

我想一次加载所有属性,而不是使用ConverterValue一次加载每个属性。valueOne

让我知道如何使用注释一次获取valueOne=1、valueTwo=2

我希望避免为每个键定义@value


共 (1) 个答案

  1. # 1 楼答案

    首先创建一个qualifier annotation,我们称之为@ConverterValues

    然后用给定的限定符声明PropertiesFactoryBean类型的bean

    <bean id="converterValues" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="location" value="classpath:path/to/properties" />
        <qualifier value="your.package.ConverterValues" />
    </bean>
    

    现在,您可以将属性注入到bean中:

    @Autowired
    @ConverterValues
    private Properties converterValues;
    

    更新

    当然,如果您愿意显式地表达依赖关系,您可以跳过定义限定符的开销:

    @Autowired
    @Qualifier("converterValues") // the name of the bean to inject
    private Properties converterValues;