我正在开发一个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 的其他项目的类路径中。