ssm框架简单框架流程
1.框架搭建步骤
一:mybatis部分
1.建实体类(pojo层):起名类名与表名一致,但类开头大写;如数据库某表books,类名Books
2.写接口进行一些业务操作(dao层):同类类名几乎一致再跟上Mapper;如BookMapper
3.业务具体做法(dao层):BookMapper.xml下写操作
紧接着赶紧将BookMapper.xml绑定到mybatis的配置文件中(注册上)
4.写业务层(service层): 此层与dao层没有本质区别
业务层的业务其实与数据库是对应的,只是可能存在细微的差别
1.可以把dao接口BookMapper的操作拿过来写在BookService接口中
(@Param不需要)
2.写其实现类:BookServiceImpl 实现业务接口
3.业务层调dao层:(所以BookMapper的作用只是为了让业务实现类实
现dao操作接口)
组合dao层:private BookMapper bookMapper;
提供set方法:目的是spring能托管它
public void setBookMapper(BookMapper
bookMapper) {
this.bookMapper = bookMapper;
}
(分析:mybais层操作结束:做底层
pojo对应数据库实体类
dao和service就是对于MVC的M即Model层(数据和业务)
)
目前所用这三个框架:
二:spring部分
1.spring-dao.xml(整合dao层)
(1)关联数据库配置文件
(2)连接池
(3)sqlSessionFactory(包括了整合绑定mybatis)
(4)配置扫描Dao接口包,动态实现Dao接口注入到spring容器中
2.spring-service.xml(整合service层)
(1)扫描service下的包 (若包里面代码上用了注解也能扫描到)
(2)将我们的所有业务类,注入到Spring,可以通过配置,或者注解实现
(3)申明事务配置
3.spring-mvc.xml (三:springmvc部分)
(1)web.xml下配置:DispatchServlet和乱码过滤
(2)配置spring-mc.xml
映射器、适配器、视图解析器(用了注解则几乎可以完全省略)
(2.1)注解驱动
(2.2)静态资源过滤
(2.3)扫描包:controller
(2.4)视图解析器
(整合思路结束:框架搭建完成)
2.项目简单流程
文件图:
从前端开始走流程:
1.先进入index.jsp页面
<a href="${pageContext.request.contextPath}/book/allBook">进入书籍页面</a>
(jsp的绝对路径写法)使得其进入BookController中的/book/allBook的方法,处理好后返回到allBook页面。
2.进入到了有/book映射的controller层的BookController中
Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置
@Controller用于标记在一个类上,使用它标记的类就是一个SpringMvc Controller对象,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。
@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器。
@Controller标记在一个类上还不能真正意义上说它就是SpringMvc的控制器,应为这个时候Spring还不认识它,这个时候需要把这个控制器交给Spring来管理。有两种方式可以管理:
<!--基于注解的装配-->
<!--方式一-->
<bean class="com.HelloWorld"/>
<!--方式二-->
<!--路径写到controller的上一层-->
<context:component-scan base-package="com"/>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ucKazbLZ-1610628757712)(C:\Users\QZZ\AppData\Roaming\Typora\typora-user-images\image-20210114164314537.png)]
举例一:展示查询书籍的前后端流程图:
具体代码:
https://github.com/QzzBL/Java-C-C-_program
2021.01.14/周四
by 922