Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Bean没有在Spring中初始化_Java_Spring_Spring Java Config - Fatal编程技术网

Java Bean没有在Spring中初始化

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

我有一个类正在创建数据并将其插入表中。请在下面查找我的代码:

DBConnection类:

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注释。