我正在开发一个standalone java application
稍后打包为一个jar
并将部署到一个企业应用程序(EAR
)中。
我在我的应用程序中多次访问数据库JDBC
,在这个应用程序中我可以使用任何数据访问设计模式Abstract DAO
吗?还是我不应该考虑data access layer
在独立的 Java 应用程序中包含或任何此类层?
我正在开发一个standalone java application
稍后打包为一个jar
并将部署到一个企业应用程序(EAR
)中。
我在我的应用程序中多次访问数据库JDBC
,在这个应用程序中我可以使用任何数据访问设计模式Abstract DAO
吗?还是我不应该考虑data access layer
在独立的 Java 应用程序中包含或任何此类层?
是的,拥有一个数据访问层来整合您的 JDBC 代码而不是将其分散在整个应用程序中是有益的。还应该考虑使用 db 连接池。一个例子是 Apache DBCP。仅仅因为它是一个独立的应用程序并不能否定 IMO 的好处。
如果我愿意,我会:
dao.jar
包含 DAO 代码的专用库(打包为 jar)app.jar
创建一个依赖此库的独立(可运行)应用程序(可运行 jar)app.ear
使用专用库(dao.jar
)而不是应用程序如果有一些业务逻辑,您可以创建一个包含它的附加库,该库也business.jar
依赖dao.jar
并制作app.jar
和app.ear
依赖它。
一个罐子应该只有一个主要的责任或层。
dao.jar
可以使用任何有用的设计原则或设计模式来访问其数据。
当然,您可以使用 Web 应用程序做任何您能做的事情。此外,抽象 DAO 模式并不特定于一组特定的应用程序。
有几种方法可以做到这一点。
您可以将 DAO 代码创建为 jar,并将其包含在部署为 EAR 的其他项目的类路径中。