Service层和Controller层的开发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Service层和Controller层的开发相关的知识,希望对你有一定的参考价值。
参考技术A dao层:对应每个表做增删改查service层:对dao的增删改查整合(一般service只调用自己的dao接口,如果想调用其他层的dao接口,则通过引入该层的service)
web层(controller层):定义路由访问,对service层整合
//配置+接口+实现类
AddressbookService.java
AddressbookServiceImpl.java
spring包扫描问题
最近做项目时发现一个spring包扫描问题,项目中使用spring、springMVC、mybatis框架,因为整个项目是按模块来分布式开发,最终将各个模块整合在一起,但是整合时发现有些模块的service层和controller层包没有扫描到。
举个例子:A模块的service层包为 com.project.A.service,B模块的service层的包为com.project.base.B.service;在spring的配置文件里包扫描器的配置为:
<context:component-scan base-package="com.project.*.service" />,但结果发现这么写扫描包并没有扫描到B模块的service层,后来特意查阅了一下*号通配符在包路径中的含义。
“*”:匹配零个或多个字符串,如“cn/*/config.xml”将匹配“cn/javass/config.xml”,但不匹配匹配“cn/config.xml”和“cn/javass/test/config.xml”;而“cn/config-*.xml”将匹配“cn/config-dao.xml”;
“**”:匹配路径中的零个或多个目录,如“cn/**/config.xml”将匹配“cn /config.xml”,也匹配“cn/javass/spring/config.xml”;而“cn/javass/config-**.xml”将匹配“cn/javass/config-dao.xml”,即把“**”当做两个“*”处理。
所以,一个*号并不能匹配多个目录,上面的问题解决方法为:将包扫描器配置改为<context:component-scan base-package="com.project.**.service" />即可。
以上是关于Service层和Controller层的开发的主要内容,如果未能解决你的问题,请参考以下文章