在 Java Web 应用程序中将 DataSource 资源存储在哪里?
这是一个菜鸟问题。 最佳位置是什么
@Resource
private DataSource ds;
放置 Web 应用程序的 ?我是否将其放在 servlet、上下文侦听器中,或者也许有更好的地方? 另外,我是否应该在 doGet()/doPost() 中创建一个新的 Connection 对象,还是应该在其他地方创建它? 对于这样的事情,最佳实践是什么? 谢谢你!
This is a rookie question. What's the best place to put
@Resource
private DataSource ds;
in a web application? Do I put it in a servlet, context listener or maybe there's a better place for it?
Also, do I create a new Connection object in my doGet()/doPost() or should I do it somewhere else?
What's the best practice for stuff like this?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您想要调用
DataSource#getConnection()
的同一类中。您通常在 DAO 类的方法中执行此操作,在该方法中您希望与数据库进行交互,在
try
块中关闭Connection
(和
和finally
块中的 StatementResultSet
(如果有)。在更抽象和灵活的设置中,您还可以在 DAO 管理器类或事务管理器类中执行
DataSource#getConnection()
。In the very same class where you'd like to call
DataSource#getConnection()
.You usually do that in a method of a DAO class where you'd like to interact with the DB, in a
try
block where you close theConnection
(andStatement
andResultSet
, if any) in thefinally
block.In a more abstracted and flexible setup, you could also do
DataSource#getConnection()
in a DAO manager class or a transaction manager class.