【问题标题】:Where to store a DataSource resource in a Java web app?在 Java Web 应用程序中将 DataSource 资源存储在哪里?
【发布时间】:2011-02-18 08:52:59
【问题描述】:
这是一个菜鸟问题。什么地方最好放
@Resource
private DataSource ds;
在网络应用程序中?我是把它放在一个 servlet、上下文监听器中,还是有更好的地方放它?
另外,我是在 doGet()/doPost() 中创建一个新的 Connection 对象还是应该在其他地方创建一个新的 Connection 对象?
像这样的东西的最佳做法是什么?
谢谢!
【问题讨论】:
标签:
java
model-view-controller
servlets
jdbc
【解决方案1】:
将@Resource DataSource 放入Web 应用程序的最佳位置是什么?我是把它放在一个 servlet、上下文监听器中,还是有更好的地方放它?
在你想打电话给DataSource#getConnection()的同一个班级。
另外,我是在 doGet()/doPost() 中创建一个新的 Connection 对象,还是应该在其他地方创建?
您通常在您希望与 DB 交互的 DAO 类的方法中执行此操作,在 try 块中关闭 Connection(以及 Statement 和 ResultSet,如果有的话) 在finally 块中。
在更抽象和灵活的设置中,您还可以在 DAO 管理器类或事务管理器类中执行 DataSource#getConnection()。