[英]Cannot load configuration class in Spring with Oracle db connection
I am trying to connect to an existing table in an oracle database. 我正在尝试连接到oracle数据库中的现有表。 I have set up a oracle connection inside application.properties
我已经在application.properties
建立了一个oracle连接
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.username=talon
spring.datasource.password=talon
spring.datasource.tomcat.test-while-idle=true
spring.datasource.dbcp2.validation-query=SELECT 1
spring.jpa.show-sql=true
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
I have a configuration class 我有一个配置类
@Configuration
public class Db {
@NotNull
private String username;
@NotNull
private String password;
@NotNull
private String url;
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setUrl(String url) {
this.url = url;
}
private Db() {
OracleDataSource dataSource = null;
try {
dataSource = new OracleDataSource();
dataSource.setUser(username);
dataSource.setUser(password);
dataSource.setUser(url);
dataSource.setImplicitCachingEnabled(true);
dataSource.setFastConnectionFailoverEnabled(true);
Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("select * from BOOK");
rs.next();
System.out.println(rs.getString(1));
} catch (SQLException e) {
e.printStackTrace();
}
}
}
When i run it I have the error java.lang.IllegalStateException: Cannot load configuration class: oraclejpamaven.oraclejpamaven.Db caused by java.lang.IllegalArgumentException: No visible constructors in class oraclejpamaven.oraclejpamaven.Db 当我运行它时,我遇到错误java.lang.IllegalStateException:无法加载配置类:oraclejpamaven.oraclejpamaven.Db由java.lang.IllegalArgumentException引起:类oraclejpamaven.oraclejpamaven.Db中没有可见的构造函数
Spring is trying to instantiate your configuration class Db
using the default constructor. Spring尝试使用默认构造函数实例化您的配置类Db
。
Change this private Db()
by this public Db() {
通过此public Db() {
更改此private Db()
public Db() {
Hope this helps! 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.