SSM
1、spring
1.定义:轻量级的企业级框架。
2.目的:解决企业开发的复杂性问题。(简化开发)
3.是如何简化Java开发的:
(1)基于POJO的轻量级和最小侵入性编程;
(2)通过IOC,依赖注入(DI)和面向接口实现松耦合;
(3)基于切面(AOP)和惯例进行声明式编程;
(4)通过切面和模板减少样式代码
4.DI(依赖注入)是实现IOC的方法。是由IOC容器在运行期间,动态地将被依赖的对象注入到需要的对象之中,从而实现对象之间的解耦。
5.Bean的实例化方式:构造器实例化、静态工厂方式实例化、实例工厂方式实例化。
6.Bean的装配方式:XML装配方式和注解方式
(1)XML装配方式:
1)设值注入:
条件:a.Bean类必须有一个无参构造方法
b.Bean类必须为属性提供setter方法
配置:<bean>元素你定义一个组件、<property>元素来为每个属性注入值
2)构造注入:
条件:Bean类必须有一个有参构造方法
配置:<constructor-arg>元素为构造方法传参
(2)注解方式:
1)在Java类中进行注解标注:@Component、@Resource
2)在配置文件中扫描注解:开启注解扫描全包
(3)自动装配:就是将一个Bean自动的注入到其他Bean的Property中。(autowire)
7.AOP:面向切面编程,使用动态代理的设计模式在执行方法前后或出现异常后加入相关逻辑。
8.动态代理:
(1)需要一个或一组接口来定义所有功能和行为规范。
(2)需要目标类实现抽象对象中的所有功能。
(3)需要一个代理类Proxy来实现InvocationHandler接口,创建代理对象,调用代理方法。
(4)在invoke()对代理的方法有选择的增强目标类原有的方法。
2、spring MVC
1.定义:spring提供的一个基于MVC设计模式的优秀web开发框架,是spring模块中用于web应用开发的一个模块。
2.特点:(1)清晰的角色划分。
(2)灵活的配置功能。
(3)提供了大量的控制器接口和实现类。
(4)可自动绑定用户输入,并能正确的转换数据类型。
(5)真正做到与View层的实现无关。
(6)支持国际化,面向接口编程,spring框架的一部分。
3.注解:(1)@Controller:标注一个普通的JavaBean成为控制器。
(2)@RequestMapping:通过请求URL进行映射。
4.@RequestMapping注解的常用属性:
(1)value:请求URL(必须保证全局唯一)
(2)method:请求方法
(3)params:请求参数
5.组合注解:(1)@GetMapping:匹配GET方式的请求
(2)@PostMapping:匹配POST方式的请求
6.请求处理方法的返回类型:String(逻辑视图名称)
7.String类型还可以进行重定向和请求转发:
(1)redirect重定向:
return "redirect:queryUser";
(2)forward请求转发:
return "forward:queryUser";
8.携带数据的参数:Model(是一个包含了Map对象的SpringMVC类型。如果方法中添加了Model参数,则每次调用该请求处理方法时,SpringMVC都会自动创建一个Model对象,并将其作为参数传递给方法)
Model.addAttribute(String attributeName,Object attributeValue);
3、MyBatis
1.定义:一个支持普通SQL查询、存储过程以及高级映射的持久层框架。
2.操作步骤:
(1)读取配置文件
(2)根据配置文件构建SqlSessionFactory
(3)通过SqlSessionFactory创建SqlSession
(4)使用SqlSession对象操作数据库
3.mybatis的核心对象:SqlSessionFactory->SqlSession
4.配置文件主要元素:
(1)properties元素:配置属性的元素,将内部的配置外在化
(2)settings元素:用于改变mybatis运行时的行为,例如开启二级缓存、开启延迟加载等。
(3)typeAliases元素:用于为配置文件中中的Java类型设置一个简短的名字,即设置别名。
(4)typeHandler元素:将预处理语句中传入的参数从Java类型转换成JDBC类型,或者从数据库取出结果时将JDBC类型转换成Java类型。
(5)environments元素:对环境进行配置。(数据源)
(6)mappers元素:用于指定mybatis映射文件的位置。
5.映射文件主要元素:
(1)select元素:映射查询语句。
1)id属性:唯一标识符,常与命名空间组合起来使用。
2)parameterType属性:表示传入SQL语句的参数类的全限定名或者别名。它是一个可选属性,因为mybatis可以通过typeHandler推断出具体传入语句的参数。
3)resultType属性:从SQL语句中返回的类型的类的全限定名或者别名。
4)resultMap属性:集合类型。
(2)insert元素:映射插入语句。
(3)update元素和delete元素。
(4)sql元素:定义可重用的SQL代码片段,然后在其他语句中引用这一代码片段。
(5)resultMap元素:结果映射集
6.动态SQL中的元素:
(1)if元素:判断语句,用于单条件分支判断。
(2)choose、when、otherwise元素:用于多条件分支判断。
(3)where、trim、set元素:辅助元素,用于处理一些 SQL 拼装、特殊字符问题。
(4)foreach元素:循环语句,常用于in语句等列举条件中。
(5)bind元素:从OGNL表达式中创建一个变量,并将其绑定到上下文,常用于模糊查询的sql中。