Spring+SpringMVC+MyBatis;
Web MVC框架:SpringMVC。
Spring:的核心工功能:控制反转(IoC),依赖注入(DI)–bean;
MyBatis:提供持久层操作的一个框架;
什么叫MVC:M是数据,V是能看到的东西,C是逻辑;
IDEA;
项目管理工具:Maven:必须能联网!
1 项目目录结构是约定好的,遵守“约定大于配置”的理念;
2 src/main/java下放源码;
3 src/main/resourses下放非源码文件,比如配置文件;
0 添加Spring核心库,
1 可以在任何类型的项目中使用;
2 必须有配置文件,配置文件是XML;
3 在配置文件中定义Bean和Bean之间的关系;
4 Bean的定义的要素:Bean类名用于创建Bean对象,Bean名字,用于在其它地方引用它;
5 Bean的注入有两种常用方式:可以通过构造方法参数注入,也可以通过属性注入。
如何打开Maven工程?
Bean生命期是什么样的?
Bean的实例是如何被创建出来的? 通过什么技术?
1 在程序运行中创建出代理,这就叫动态代理;
2 有两态API可以使用:一是JDK代理,二是CGLIB代理;
3 JDK代理需要被代理的类从接口派生,而CGLIB不需要;
1 AOP 面向切面的编程
2 AOP可以一次性增强多个类的多个方法,其底层基于动态代理实现;
3 请自行搞懂AOP的相关概念:切面、连接点、切点、通知、织入等;
4 SpringAOP可以跟据被切的类是否实现了接口,决定底层利用JDK还是CGLib;
1 是一个ORM层框架;
2 用于访问数据库;
3 MyBatis不是一个纯ORM框架;
4 ORM 是Object-Relationship-Mapping;
1)添加依赖项
2)创建配置文件,配置数据源;
3)创建映射文件,写出SQL查询语句;
4)创建实体类;
5)创建会话工厂;
6)获取会话;
7)执行查询;
通过Session执行查询有两种方式,推荐使用接口进行查询的方式,此方式需要定义一个接口,接口对应Mapper文件的元素,接口中的方法对应中的查询语句;
安装MySQL服务,推荐使用XAMPP套件;其中包含了数据库的Web形式管理程序PhpMyAdmin;
为了保证无字符乱码,必须保证数据库与程序中的字符集和字符编码全部一致。
字符集与字符编码是不同的概念,字符集是对一坨字符的编号方案;字符编码是字符序号的表示方法;
UTF8是编码方法,Unicode是字符集编号方案;
1 MVC:数据、视图、业务逻辑分离;
2 SpringMVC利用一个DispatcherServlet接管了所有路径的请求,然后分发给不同的Controller;
3 一个请求首先由Controller处理,处理完成后转给View层(一般是JSP),View层产生HTML最终传给浏览器;
使用步骤:
1 添加依赖库;
2 配置Web.xml,使SpringMVC的Filter起作用;
3 添加SpringMVC配置文件;
4 添加Controller类和方法以响应请求;
C与V之间如何传递数据?
1 SpringMVC是MVC架构的核心;
2 SSM中利用Spring的IoC功能自动管理各框架要创建的对象;还利用Spring的AOP实现了数据库事务的自动切入;
3 利用MyBatis实现了C与M的分离;
过程:
1)添加三个框架的依赖库,尤其注意Spirng和MyBatis的整合库,没有它,Spring无法以Bean的形式管理MyBatis中的对象;
2)修改web.xml,在里面添加Spring的ContextLoaderListener和Spring的DispatchServlet;
3)为ContextLoaderListener和DispatchServlet分别添加配置文件。DispatchServlet的配置文件中主要配置MVC框架相关的参数,比如如何找到Controller,如何找到view层文件,是否支持Web文件上传等,而ContextLoaderListener的配置文件中主要配置MVC无关的参数,比如如何整合MyBatis,MyBatis的数据源,如何为某些类切入事务管理等等。
4)创建Controller类,处理业务;
5)创建Mapper接口和Mapper文件,访问数据库;
6)创建JSP文件,产生HTML;
Spring整合MyBatis后,获取Mapper实例时,只需要使用自动注入即可;