用的是 SSM3的框架 Spring MVC 3.1 Spring 3.1 Mybatis3.1 第一種情況: Spring MVC 和 Spring 整合的時(shí)候,SpringMVC的springmvc.xml文件中 配置掃描包,不要包含 service的注解,Spring的applicationContext.xml文件中 配置掃描包時(shí),不要包含controller的注解,如下所示: SpringMVC的xml配置:
<context:component-scan base-package='com.insigma'>
</context:component-scan>
Spring MVC啟動(dòng)時(shí)的配置文件,包含組件掃描、url映射以及設(shè)置freemarker參數(shù),讓spring不掃描帶有@Service注解的類。為什么要這樣設(shè)置?因?yàn)?/span>springmvc.xml與applicationContext.xml不是同時(shí)加載,如果不進(jìn)行這樣的設(shè)置,那么,spring就會(huì)將所有帶@Service注解的類都掃描到容器中,等到加載applicationContext.xml的時(shí)候,會(huì)因?yàn)槿萜饕呀?jīng)存在Service類,使得cglib將不對(duì)Service進(jìn)行代理,直接導(dǎo)致的結(jié)果就是在applicationContext
同樣的在Spring的xml配置如下: <context:component-scan
base-package='com.insigma'>
</context:component-scan>
掃描包路徑,不掃描帶有@Controller注解的類。因?yàn)檫@些類已經(jīng)隨容器啟動(dòng)時(shí),在springmvc.xml中掃描過一遍了。
完成以上工作 注意以上幾點(diǎn)就OK了。 這是轉(zhuǎn)載文章...........
|
|