Почему внедрение параметров в Bean A нарушает разрешение свойства Bean B?(Оба типа типа PropertyPlaceholderConfigurer) - PullRequest
0 голосов
/ 27 ноября 2018

В моем проекте есть два компонента PropertyPlaceholderConfigurer.

Bean A: (определен как XML)

<bean id="propertyConfigurer"  class="org.jasypt.spring3.properties.EncryptablePropertyPlaceholderConfigurer">
    <constructor-arg ref="configurationEncryptor" />
    <property name="order" value="0" />
    <property name="locations">
        <list>
            <value>classpath:/app-dev.properties</value>
            <value>classpath:/common-dev.properties</value>
        </list>
    </property>
</bean>

Bean B: (определен как Java Config)

@Bean(name = "customPropertiesUtil")
public static CustomPropertiesUtil customPropertiesUtil(StandardPBEStringEncryptor configurationEncryptor) {
    CustomPropertiesUtil customPropertiesUtil = new CustomPropertiesUtil ();
    customPropertiesUtil.setSystemPropertiesModeName("SYSTEM_PROPERTIES_MODE_OVERRIDE");
    customPropertiesUtil.setLocation(new ClassPathResource("mail-dev.properties"));
    customPropertiesUtil.setOrder(1);
    customPropertiesUtil.setIgnoreUnresolvablePlaceholders(false);
    customPropertiesUtil.setStandardPBEStringEncryptor(configurationEncryptor);
    return customPropertiesUtil;
}

Bean configurationEncryptor определен в XML следующим образом:

<bean id="configurationEncryptor"  class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
    <property name="config" ref="environmentVariablesConfiguration" />
</bean>

Bean B создан в классе @Configuration.Странно то, что если я удаляю инъекцию параметра, показанную в Бине B, все работает как положено.Тем не менее, мне нужен шифратор для разрешения некоторых зашифрованных свойств, и единственный способ, которым он НЕ НЕДЕЙСТВИТЕЛЕН, состоит в том, чтобы внедрить его с помощью внедрения параметров.(см. Почему поле @Autowired в классе @Configuration имеет значение null? )

У меня вопрос, как сделать так, чтобы бин вводился в метод @Bean (бин B), вызывал бин Aтерпеть неудачу?

...