使用的为Java EE企业级应用开发从入门到实战(以便于对照具体页数)
Spring框架技术简介、优点及体系结构;p19-22
Spring框架实例化Bean的几种方式;p54
Spring的作用域、声明周期及其装配方式;p58-68
Spring AOP的相关概念;p76
Spring AOP的各类通知;p87-91
基于XML配置的声明式Aspectj开发(必须掌握AOP的基于XML的配置,掌握书上的例题);p92
基于Annotation注解的声明式AspectJ开发;p97
掌握Spring事务管理概述(事务的传播行为、隔离级别,4大特性等);p120
声明式事务管理(基于XML配置与注解两种方式必须掌握);p129
SpringMVC框架概述及工作原理;p142,p152
SpringMVC的控制器中涉及到的常用注解及其使用(@Controller,@RequestMapping,@PathVariable等);p158-174
SpringMVC中的请求转发与重定向;p175
MyBatis框架概述及其工作原理;p301-303
MyBatis中的一对多(多一对)映射(必须掌握,可以看书上的例题,重点掌握分布式嵌套查询);p370
SSM框架整合(掌握其配置,如web.xml,springmvc.xml,spring.xml,mybatis-config.xml,XXXMapper.xml映射配置等);p396开始
*考试题型*:
\1. 选择题:10题*1分
\2. 判断题:5题*1分
\3. 程序分析填空题:40个空,每空1分;
\4. 简答题:共5题,每题5分,共25分;
\5. 编程题:一题,共20分,分5个小题,分别是实体类设计、数据表创建、接口类编写、映射文件编写(采用填空方式)。
*\注:一定要把书中的第20章SSM整合中的案例掌握好,包括各个配置文件中内容(各种标签配置及其作用),主要考察一对多的关联关系映射配置(第19章的19.3节内容)。*
*简答题复习重点内容*
(11选5,但以下11个知识点在试卷中都考到了,分别体现在选择题,判断题和简答题中):
核心功能:控制反转(IOC)、依赖注入(DI)
SpringIOC的作用:把创建类的对象工作交给Spring框架来完成。
SpringDI的作用:在程序运行过程中需要动态地注入某个对象的工作交给Spring容器来实现。
SpringDI的两种实现方式:1基于属性的setter方法注入 2基于构造方法的方式注入
MyBatis传递单个参数,如果是普通类型(String+8个基本)的,取值时在#{}中可以任意指定,如果是对象类型的,则在#{}中使用对象的属性名来取值
MyBatis传递多个参数,默认情况下,MyBatis会对多个参数进行封装Map,取值时在#{}可以使用0 1 2 … 或者是param1 param2…
MyBatis传递多个参数,建议使用命名参数,在Mapper接口的方法的形参前面使用
@Param() 来指定封装Map时用的key. 取值时在#{}中使用@Param指定的key
#{}是预编译处理,${}是字符串替换;
Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
Mybatis在处理 时,就是把 {}时,就是把 时,就是把{}替换成变量的值;
使用#{}可以有效的防止SQL注入,提高系统安全性。
\5. Spring常见的创建对象的4个注解及2个依赖注入注解;
@Component:通过组件类注解,除了控制层,服务层,持久层之外的类上的注解;
@Controller:标注在控制层(处理器Handler)上的注解;
@Service:标注在服务层(Service)上的注解;
@Repository:标注在持久层(Dao)上的注解;
@Autowired:按照类型来装配的依赖注入注解;
@Resource:默认按照名称来装配的依赖注入注解。
两种方式:
1JDK的动态代理 过程:创建接口类、接口实现类、切面类、代理类和测试类。
2CGLIB的动态代理 过程:创建目标类、切面类、代理类和测试类。
JDK动态代理:利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。
CGlib动态代理:利用ASM(开源的Java字节码编辑库,操作字节码)开源包,将代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。
(1)Web请求被前端控制器拦截;
(2)前端控制器调用处理器映射器查找对应的页面处理器;
(3)Dispatcher调用处理器适配器去执行Handler;
(4)HandlerAdapter会根据适配的结果去执行Handler,返回ModelAndView;
(5)DispatcherServlet调用视图解析器进行视图解析;
(6)DispatcherServlet进行视图渲染;
(7)DispatcherServlet向客户端返回响应结果。
1Servlet API实现
2在控制器中处理方法的return语句中,通过在return语句返回的字符串前添加forward:和redirect:来实现请求转发与请求重定向。
1读取MyBatis配置文件SqlMapConfig.xml。
2加载映射文件mapper.xml。
3构造会话工厂SqlSessionFactoty。
4创建会话对象SqlSession。
5MyBatis底层定义类一个Executor接口来操作数据库,它会根据SqlSession传递的参数动态地生成需要执行的SQL语句,同时负责查询缓存的维护。
6在Executor接口的执行方法中,包含一个MappedStatement类型的参数,该参数三对映射信息的封装,用于存储要映射的SQL语句的id、参数等。
7输入参数映射。
8输出结果映射。
事务的四大特性:原子性,一致性,隔离性,持久性;
Spring实现声明式事务管理的两种方式分别为:
(1)基于注解的方式,使用的注解@Transactional;
(2)基于XML配置的方式。
26、在Spring的核心机制中,当一个Java实例需要其他JAVA实例的时候,必须程序显示获取
答案: 错误
27、依赖注入基本思想是:明确地定义组件接口,独立开发各个组件,然后根据组件的依赖关系组装运行
答案: 正确
28、通过依赖注入,JavaEE应用中的各种组件不需要以硬编码的方式进行耦合
答案: 正确
29、使用构造注入法时,在构造函数中决定依赖关系的注入顺序
答案: 正确
30、所谓依赖注入,就是明确地定义组件接口,独立开发各个组件
答案: 正确
31、依赖注入能够降低系统各组件的依赖关系,提倡面向接口编程
答案: 正确
32、IoC就是指程序之间的关系由程序代码直接操控
答案: 错误
33、Spring框架提供了一种IoC自动注入功能,需要我们以new Object()方式创建对象
答案: 错误
34、Spring是一个轻型的容器,是J2EE规范的轻量级实现,是企业应用的”一站式”解决方案,其核心就是bean工厂,spring是非侵入式的
答案: 正确
35、Spring的依赖注入和控制反转是完全不同的两个概念
答案: 错误
36、Spring框架最基本的部分是Spring Core模块,提供IOC和依赖注入
答案: 正确
37、Spring是一个轻量级框架,大大简化了java企业级开发
答案: 正确
38、依赖注入需要大量接口,增加了编码复杂度
答案: 正确
39、所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移
答案: 正确
40、IoC将控制创建的职责搬进了框架中,从应用代码脱离开来
答案: 正确
41、使用Spring的IoC容器时只需指出组件需要的对象,在运行时Spring的IoC容器会根据XML配置数据提供给它
答案: 正确
42、Job是一个类,可以直接被继承创建工作类
答案: 错误
43、Spring中配置的Bean,要么只能都用Autowire自动装配,要么都不用Autowire自动装配
是指控制权由应用代码转到外部容器,即控制权的转移
答案: 正确
40、IoC将控制创建的职责搬进了框架中,从应用代码脱离开来
答案: 正确
41、使用Spring的IoC容器时只需指出组件需要的对象,在运行时Spring的IoC容器会根据XML配置数据提供给它
答案: 正确
42、Job是一个类,可以直接被继承创建工作类
答案: 错误
43、Spring中配置的Bean,要么只能都用Autowire自动装配,要么都不用Autowire自动装配
答案: 错误