我正在做一个爱好项目。我使用Maven
,SpringMVC
,Hibernate
和Tomcat
。
在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)项目为例。
答案 0 :(得分:0)
通常的做法是根据体系结构层对包中的类进行分组。 但是在一天结束时,这取决于你。
例如,对于应用程序myapp,典型结构可能是这样的:
然后您只需在xml配置文件中执行此操作,以扫描所有包中的bean。
您通常需要扫描@Repository,@ Service ...等带注释的类,这些类都位于根路径org.myapp下,并且通过上面的配置,它们都应该被找到并注入上下文。