如何配置弹簧引导
问题描述:
休眠获取下面的错误使用Hibernate配置如何配置弹簧引导
Parameter 0 of constructor in org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration required a bean of type 'javax.sql.DataSource' that could not be found.
- Bean method 'dataSource' not loaded because @ConditionalOnProperty (spring.datasource.jndi-name) did not find property 'jndi-name'
- Bean method 'dataSource' not loaded because @ConditionalOnBean (types: org.springframework.boot.jta.XADataSourceWrapper; SearchStrategy: all) did not find any beans
操作:
考虑重新审视上述条件或定义类型的豆“的javax.sql.DataSource”你组态。
这是我使用
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
@SpringBootApplication
@EnableAutoConfiguration(exclude={ DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,JpaRepositoriesAutoConfiguration.class})
public class Application {
public static void main(String[] args) throws Throwable {
SpringApplication.run(Application.class, args);
}
}
属性文件中的Application.java文件 -
spring.jpa.hibernate.ddl-auto=create-drop
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL
spring.datasource.username=system
spring.datasource.password=****
spring.datasource.driver-class-oracle.jdbc.driver.OracleDriver
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy =
org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
答
已经排除了DataSourceAutoConfiguration
这意味着你必须手动指定@Bean
为DataSource
。由于排除,application.properties
中的数据源配置将不会被加载。
我试图通过从排除中删除,但仍然得到相同的错误。我是否需要为此默认指定DataSource? – user3199286