yo uso la clase con la anotación @Configuration configurar mi solicitud de primavera:Problema con la clase de Primavera @Configuration
@Configuration public class SpringConfiguration { @Value("${driver}") String driver; @Value("${url}") String url; @Value("${minIdle}") private int minIdle; // snipp .. @Bean(destroyMethod = "close") public DataSource dataSource() { DataSource dataSource = new DataSource(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(user); dataSource.setPassword(password); dataSource.setMinIdle(minIdle); return dataSource; }
y las propiedades de archivo en CLASSPATH
driver=org.postgresql.Driver url=jdbc:postgresql:servicerepodb minIdle=1
me gustaría obtener mi fuente de datos configurada objeto en mi clase DAO:
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfiguration.class); DataSource dataSource = ctx.getBean(DataSource.class);
Pero me sale el error:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private int de.hska.repo.configuration.SpringConfiguration.minIdle; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is **java.lang.NumberFormatException: For input string: "${minIdle}"** Caused by: java.lang.NumberFormatException: For input string: **"${minIdle}"** at java.lang.NumberFormatException.forInputString(**Unknown Source**) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.valueOf(Unknown Source)
Se trabajó con propiedades de tipo cadena (conductor, URL), pero $ {} minidle (de tipo int) no se puede resolver! Por favor ayuda. Gracias por adelantado!
'@ Value' funciona con propiedades que no son String, y si no funciona en este caso específico, entonces algo extraño está sucediendo. – skaffman
funciona con String Properties (mi aplicación se ejecuta con esta configuración), pero no si trato de obtener ApplicatonContext: ApplicationContext ctx = new AnnotationConfigApplicationContext (SpringConfiguration.class); – easyrider