Я пытаюсь преобразовать свою конфигурацию Jasypt на основе XML в конфигурацию на основе Java, но я не могу заставить ее работать.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:encryption="http://www.jasypt.org/schema/encryption" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.jasypt.org/schema/encryption http://www.jasypt.org/schema/encryption/jasypt-spring4-encryption-1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd"> <bean id="properties" class="org.jasypt.spring4.xml.encryption.EncryptablePropertiesFactoryBean"> <property name="encryptor" ref="stringEncryptor"/> <property name="ignoreResourceNotFound" value="true"/> <property name="locations"> <list> <jee:jndi-lookup jndi-name="admin_properties" lookup-on-startup="true" expected-type="java.lang.String" default-value="classpath:config/admin-properties.xml"/> </list> </property> </bean> <jee:jndi-lookup id="adminPassword" jndi-name="ADMIN_PASSWORD" lookup-on-startup="true" expected-type="java.lang.String" default-value="ADMIN_PASSWORD"/> <encryption:encryptor-config id="encryptorConfiguration" algorithm="PBEWITHSHA256AND256BITAES-CBC-BC" password="#{adminPassword}" provider-class-name="org.bouncycastle.jce.provider.BouncyCastleProvider"/> <encryption:string-encryptor id="stringEncryptor" config-bean="encryptorConfiguration"/> <context:property-placeholder properties-ref="properties" ignore-unresolvable="true"/> </beans>
Таким образом, существует файл admin-properties.xml, содержащий соответствующие свойства приложения.Первая ошибка, с которой я сталкиваюсь сейчас при запуске сервера приложений: «Не удается загрузить класс драйвера JDBC« $ {jdbc.driverClass: org.h2.Driver} »», что является результатом невозможности чтения свойств из файла свойств.(из-за моей неправильной конфигурации).
Я не пошел дальше этого:
@Configuration public class JasyptConfig { @Bean public EncryptablePropertiesFactoryBean properties() throws Exception { final EncryptablePropertiesFactoryBean encryptablePropertiesFactoryBean = new EncryptablePropertiesFactoryBean(); StandardPBEStringEncryptor stringEncryptor = new StandardPBEStringEncryptor(); stringEncryptor.setProvider(new BouncyCastleProvider()); stringEncryptor.setAlgorithm("PBEWITHSHA256AND256BITAES-CBC-BC"); // using default password for now.. stringEncryptor.setPassword("ADMIN_PASSWORD"); encryptablePropertiesFactoryBean.setEncryptor(stringEncryptor); encryptablePropertiesFactoryBean.setIgnoreResourceNotFound(true); encryptablePropertiesFactoryBean.setLocations(new ClassPathResource("config/admin-properties.xml")); return encryptablePropertiesFactoryBean; } }
Любая помощь приветствуется!