JavaEE最佳目录结构

时间:2015-08-15 06:59:52

标签: java spring maven

我正在做一个爱好项目。我使用MavenSpringMVCHibernateTomcat

在spring xml文件中我可以定义

<context:component-scan base-package="org.controller" />

这意味着据我所知SpringMVC将检查此包的控制器。

但这也意味着我的所有控制器都需要在包控制器中。

但是如果我想以这种方式实现我的webapp怎么办: 假设我有个人资料,留言簿,个人资料搜索,消息等模块。

我更喜欢这个目录结构:

org.profile.controller
org.profile.view
org.profile.service
org.profile.test (JUnit tests for the service classes and repository classes)
org.profile.repository

org.guestbook.controller
org.guestbook.view
org.guestbook.service
org.guestbook.test
org.guestbook.repository

org.profilesearch.controller
 ...

Java EE世界的最佳做法是什么?我会 说在模块包本身中拥有所有必需的类更好 而不是拥有存储所有控制器的包,存储所有服务类的另一个包,等等。

那里有一个好的github Java EE项目吗?作为Java EE中的新手,我想以良好的结构化(maven)项目为例。

1 个答案:

答案 0 :(得分:0)

通常的做法是根据体系结构层对包中的类进行分组。 但是在一天结束时,这取决于你。

例如,对于应用程序myapp,典型结构可能是这样的:

  • org.myapp.domain - &gt; db实体类和其他域类
  • org.myapp.repository - &gt; dao classes等
  • org.myapp.service - &gt;各种服务类
  • org.myapp.mvc - &gt;控制器和支持类

然后您只需在xml配置文件中执行此操作,以扫描所有包中的bean。

您通常需要扫描@Repository,@ Service ...等带注释的类,这些类都位于根路径org.myapp下,并且通过上面的配置,它们都应该被找到并注入上下文。