springmvc4+hibernate4环境搭建,最佳实践

funnydreamer1 2014-09-06 08:11:14
大家好,今天搭建了springmvc4+hibernate4的一个web环境,但有些问题和疑惑,希望大家提出一些建议,也造福其他程序员
1.大家在平时工作中喜欢哪种开发目录结构?
a.第一种

com.book.模块1.
controller
service
dao
com.book.模块2.
controller
service
dao
...

b.第二种

还是
com.book.controller.
模块1
模块2
...
com.book.service.
模块1
模块2
...
com.book.dao.
模块1
模块2
...

出现这个问题,主要是因为在springmvc环境搭建的时候,用的注解,想通过<context:component-scan base-package="com.by.myapp.samples.controller">,将Controller和Service、Dao都扫描到spring容器中,其实是将Controller扫描到springmvc容器中,将Service、Dao扫描到spring容器中,所以得分开扫描,得分别写到2个配置文件,如下:
Springmvc容器中,对Controller的扫描:

<!--
扫描Controller,但是目录要精确,也就是说base-package目录下不能有其他的组件,只能有Controller,不然会影响到事务的开启,
如果用第一种目录结构,就得写N个模块的Controller扫描,
如果用第二种目录结构,只需要写一个,但带来的问题是,当模块比较多的时候,开发不太方便,例如某模块的Controller、Service、Dao存放的位置比较远,不方便找代码
-->
<context:component-scan base-package="com.by.myapp.samples.controller">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

Spring容器中,对Service、Dao的扫描:

<!-- 扫描Service和Dao -->
<context:component-scan base-package="com.by.myapp">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

问题也在配置文件说明了,想请教下大家,对这种问题大家是怎么解决的?
即想少的配置(不会因为模块的增加而多加配置),又想开发的时候比较方便(不会因为模块的增加而使目录结构凌乱),希望大家赐教,集思广益。

...全文
309 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuqiupeng 2014-09-08
  • 打赏
  • 举报
回复
springside或者spring boot项目直接用吧,省了不少麻烦了
lonelyk 2014-09-06
  • 打赏
  • 举报
回复
第一种 <context:component-scan base-package="com.by.myapp.*.controller">

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧