Java Spring配置的问题
我有一个使用Java Netbeans和Spring框架的小程序,但我有以下错误: org.springframework.beans.factory.BeanCreationException:创建名为“config”的bean时出错:自动连线依赖项的注入失败;嵌套异常为java.lang.IllegalArgumentException:无法解析值“${spring.datasource.driverClassName}”中的占位符“spring.datasource.driverClassName” 我使用以下代码创建了Config.Java:Java Spring配置的问题,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个使用Java Netbeans和Spring框架的小程序,但我有以下错误: org.springframework.beans.factory.BeanCreationException:创建名为“config”的bean时出错:自动连线依赖项的注入失败;嵌套异常为java.lang.IllegalArgumentException:无法解析值“${spring.datasource.driverClassName}”中的占位符“spring.datasource.driverClass
@Configuration
@EnableTransactionManagement
@EnableAutoConfiguration(exclude = { HibernateJpaAutoConfiguration.class})
@ComponentScans(value = { @ComponentScan("boot.entry"),
@ComponentScan("Model"),
@ComponentScan("Controller"),
@ComponentScan("DAO"),
@ComponentScan("Miscallaneous"),
@ComponentScan("Service")})
public class Config {
@Value("${spring.datasource.driverClassName}")
private String DB_DRIVER;
@Value("${db.password}")
private String DB_PASSWORD;
@Value("${db.url}")
private String DB_URL;
@Value("${db.username}")
private String DB_USERNAME;
@Value("${hibernate.dialect}")
private String HIBERNATE_DIALECT;
@Value("${hibernate.show_sql}")
private String HIBERNATE_SHOW_SQL;
@Value("${hibernate.hbm2ddl.auto}")
private String HIBERNATE_HBM2DDL_AUTO;
@Value("${entitymanager.packagesToScan}")
private String ENTITYMANAGER_PACKAGES_TO_SCAN;
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
sessionFactory.setPackagesToScan(ENTITYMANAGER_PACKAGES_TO_SCAN);
Properties hibernateProperties = new Properties();
hibernateProperties.put("hibernate.dialect", HIBERNATE_DIALECT);
hibernateProperties.put("hibernate.show_sql", HIBERNATE_SHOW_SQL);
hibernateProperties.put("hibernate.hbm2ddl.auto", HIBERNATE_HBM2DDL_AUTO);
sessionFactory.setHibernateProperties(hibernateProperties);
return sessionFactory;
}
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(DB_DRIVER);
dataSource.setUrl(DB_URL);
dataSource.setUsername(DB_USERNAME);
dataSource.setPassword(DB_PASSWORD);
return dataSource;
}
@Bean
public HibernateTransactionManager transactionManager() {
HibernateTransactionManager txManager = new HibernateTransactionManager();
txManager.setSessionFactory(sessionFactory().getObject());
return txManager;
}
@Bean
public InternalResourceViewResolver jspViewResolver() {
InternalResourceViewResolver resolver= new InternalResourceViewResolver();
resolver.setPrefix("/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
以及我的aplication.properties
和此代码(用于SQL Server):
我正在尝试使用带有Angular的web服务连接到SQL Server。这有帮助吗?删除
Config
类并阅读Spring引导参考文档。Spring Boot已经为您完成了所有这些。基本上,他需要自定义配置,因此删除config类不会有任何帮助。您是否也尝试过删除数据源和事务的自动配置?您希望通过Config类对其进行配置。请尝试此@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class,DataSourceTransactionManagerAutoConfiguration.class,hibernatejpaaautoconfiguration.class})
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://localhost;databaseName=Prueba
spring.datasource.username=UserLogin
spring.datasource.password=Miguel123
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql = true
## Hibernate Properties
# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.SQLServer2012Dialect
# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto = update