Java Bean没有在Spring中初始化
我有一个类正在创建数据并将其插入表中。请在下面查找我的代码: DBConnection类:Java Bean没有在Spring中初始化,java,spring,spring-java-config,Java,Spring,Spring Java Config,我有一个类正在创建数据并将其插入表中。请在下面查找我的代码: DBConnection类: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { public static Connection getDBConnection() { String url = "jdbc:mysql://localhost:3306/"; String
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
public static Connection getDBConnection() {
String url = "jdbc:mysql://localhost:3306/";
String dbName = "expenseCalc";
String driver = "com.mysql.jdbc.Driver";
String userName = "*********";
String password = "*******";
Connection conn = null;
try {
Class.forName(driver).newInstance();
conn = (Connection) DriverManager.getConnection(url + dbName, userName, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
SpringConfig.class
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SpringConfig {
@Bean("sqloperations")
public SQLOperationJavaConfig sqLoperationJavaConfig() {
DBConnection dbConnection=new AppJavaConfig<DBConnection>().getbean("dbconnection");
return new SQLOperationJavaConfig(dbConnection);
}
@Bean("dbconnection")
public DBConnection dbConnection() {
return new DBConnection();
}
}
SQLOperationJavaConfig.class
public class SQLOperationJavaConfig {
private DBConnection dbConnection;
public SQLOperationJavaConfig(DBConnection dbConnection) {
this.dbConnection=dbConnection;
}
private Connection conn;
public void createTable() throws SQLException {
conn = dbConnection.getDBConnection();
String sql="drop table if exists dummy";
String sql1 = "create table dummy (id int,name varchar(20))";
Statement statement = conn.createStatement();
statement.execute(sql);
statement.execute(sql1);
System.out.println("Table Created!!");
}
public void insertData() throws SQLException {
conn = dbConnection.getDBConnection();
String sql = "insert into dummy values(12,'Sunny')";
Statement statement = conn.createStatement();
statement.execute(sql);
System.out.println("Record Inserted!!");
}
}
getBean方法没有返回“dbconnection”Bean。您不需要此getBean方法。。只需将SQLOperationsJavaConfig的初始值设定项更改为以下值:
return new SQLOperationJavaConfig(dbConnection());
Spring将查看已经为DBConnection创建的bean,您不需要这个getBean方法。只需将SQLOperationsJavaConfig的初始值设定项更改为以下内容:
return new SQLOperationJavaConfig(dbConnection());
Spring将查看已经为DBConnection创建的bean使用@autowired
@autowired
private DBConnection dbConnection;
因为@Autowired注释可以用于在setter方法上自动连接bean,就像@Required注释、构造函数、具有任意名称和/或多个参数的属性或方法一样。使用@Autowired
@autowired
private DBConnection dbConnection;
因为@Autowired注释可以用于在setter方法上自动连接bean,就像@Required注释、构造函数、具有任意名称和/或多个参数的属性或方法一样。我只想使用JavaConfig,不想使用自动连接。。因此,我不使用@autowired注释。我只想使用JavaConfig,不使用autowired。。因此,我没有使用@autowired注释。