Database 如何使数据库Bean成为托管属性
如何将另一个Java项目中的这个数据库类(作为动态web应用程序的依赖项添加)添加为托管属性Database 如何使数据库Bean成为托管属性,database,jsf-2,managed-property,Database,Jsf 2,Managed Property,如何将另一个Java项目中的这个数据库类(作为动态web应用程序的依赖项添加)添加为托管属性 import java.sql.Connection; import org.h2.jdbcx.JdbcConnectionPool; import java.sql.SQLException; public class Database { private JdbcConnectionPool poolMgr; public Database(String path,
import java.sql.Connection;
import org.h2.jdbcx.JdbcConnectionPool;
import java.sql.SQLException;
public class Database
{
private JdbcConnectionPool poolMgr;
public Database(String path, String user, String password, int connectionPoolSize) throws SQLException
{
// Creates connection pool
poolMgr = JdbcConnectionPool.create(path, user, password);
poolMgr.setMaxConnections(connectionPoolSize);
}
public Connection getConnection() throws SQLException
{
return poolMgr.getConnection();
}
}
package com.project1.bean;
import com.project2.db.Database;
@ManagedBean
@RequestScoped
public class InputBean implements Serializable
{
@ManagedProperty("#{database}")
private Database database;
//getters and setters
}
你不能那样做。托管属性仅为视图层保留(由JSF以某种方式管理的属性)。我建议您转到一个
@ManagedBean
,它提供服务功能并访问控制器bean,以便直接注入它们。感谢您的回复,我为web应用程序中的数据库创建了一个托管bean,其中包含一个无参数构造函数。