大家好,今天搭建了springmvc4+hibernate4的一个web环境,但有些问题和疑惑,希望大家提出一些建议,也造福其他程序员 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个配置文件,如下: <!-- 扫描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> 问题也在配置文件说明了,想请教下大家,对这种问题大家是怎么解决的? |
|
30分 |
第一种
<context:component-scan base-package=”com.by.myapp.*.controller”> |
10分 |
springside或者spring boot项目直接用吧,省了不少麻烦了
|