ash*_*ram 18 java spring spring-mvc
我们正在使用Spring,Sping MVC和Hibernate开始一个新的Java EE Web应用程序.我们很可能也会使用maven.
在开始之前,我们需要为Web应用程序提出项目/包结构.
什么是Java EE Web应用程序的标准项目/包结构?
它还应该在所有应用程序服务器上运行,而不对项目结构或任何配置文件进行任何更改.
我们将使用Spring source IDE 2.6.0版(最新版本).
有任何想法吗?
sbr*_*ges 26
如果您使用的是maven,最好遵循标准的maven项目布局.你可以通过这样做让maven为你生成这个结构,
mvn archetype:generate
Run Code Online (Sandbox Code Playgroud)
并从选项列表中选择spring-mvc-jpa-archetype
这会给你一个包结构,如,
??? pom.xml
??? src
??? main
? ??? java
? ? ??? mygroup
? ? ??? controller
? ? ? ??? HomeController.java
? ? ? ??? PersonController.java
? ? ??? dao
? ? ? ??? PersonDao.java
? ? ??? model
? ? ??? Person.java
? ??? resources
? ? ??? db.properties
? ? ??? log4j.xml
? ? ??? META-INF
? ? ??? persistence.xml
? ??? webapp
? ??? index.html
? ??? META-INF
? ? ??? context.xml
? ? ??? MANIFEST.MF
? ??? resources
? ? ??? css
? ? ??? screen.css
? ??? WEB-INF
? ??? spring
? ? ??? app
? ? ? ??? controllers.xml
? ? ? ??? servlet-context.xml
? ? ??? db.xml
? ? ??? root-context.xml
? ??? views
? ? ??? edit.jsp
? ? ??? home.jsp
? ? ??? list.jsp
? ??? web.xml
??? test
??? java
? ??? mygroup
? ??? controller
? ? ??? DataInitializer.java
? ? ??? HomeControllerTest.java
? ? ??? PersonControllerTest.java
? ??? dao
? ??? PersonDaoTest.java
??? resources
??? db.properties
??? log4j.xml
??? test-context.xml
??? test-db.xml
Run Code Online (Sandbox Code Playgroud)
TSn*_*der 19
MVCSR(模型,视图,控制器,服务,存储库)Web应用程序的通用,更完整的Java包结构如下所示:
java
??? com
??? youdomain
|
??? base // broadly used app-wide base and abstract classes)
|
??? core // broadly, scattered use helpers, utilities, app health/stats
| // tracking, logging, etc
|
??? controller // Fields Http/CGI requests and drives/initiates request
| // comprehension, validation, security checks, requesting
| // operations by the Service module and invoking the View to
| // generate a response.
|
??? data // This is the lower level data infrastructure, with several
| //packages under it for mappers, schema tables/enums, helpers,
| // record location, id management, etc
|
??? domain // app-wide exposed classes, managers, and interfaces to
| // each persisted (usually DB) domain 'object'. Each
| // object often correlates to one table row in you DB.
| // Domain objects are mostly considered data, but have some fundamental
| // record construction, validation, elaboration, and ancillary information
| // functionality which is opaque to the rest of the application.
| // For example: Customer, Account, Purchase, Inventory,
| // Product, Sale, Return, SpecialOffer, FeedbackComment...
|
??? repository // more complicated persisted objects, often structured
| // to address certain efficiency or traversal needs, often each
| // repository is underpinned by several records, tables,
| // and even cross-DB structures. Example:
| // -- OrderHistory,
| // -- ProductsGlobalSearchIndex,
| // -- CustomerSpecificProductMarketingSuggestionCorrelates
|
??? service // The smarts of the whole application, performs macro, holoistic
| // operations involving multiple DB tables and operations. Such as:
| // -- account.UserAccountLifecycle,
| // -- order.CustomerOrder,
| // -- order.CustomerOrderShipment
|
??? view // Intefaces with your jsp, freemarker, tapestry etc.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21526 次 |
| 最近记录: |