0目录
1.Spring
1.定义 轻量级框架,主流框架 |
2.Spring特性
1.IOC 控制反转 2.AOP面向切面 |
3.Spring组成部分
核心要点:Spring在SSM中所起到的作用: SpringMVC和Mybatis框架的粘合剂 |
4.Spring理念
OOP核心思想:面向对象【万物皆对象】 Spring核心思想:面向Bean【万物皆Bean组件】 |
5.Spring优势
1.IOC控制反转【降低了耦合度】 2.AOP面向切面【专门的人干专门的事】 3.多个框架的粘合剂【可以完美兼容SpringMVC,Mybatis】 低侵入式设计 独立于各种应用服务器 依赖注入特性将组件关系透明化,降低了耦合度 面向切面编程特性允许将通用任务进行集中式处理 与第三方框架的良好整合 |
6.面试题:什么是IOC
7.非IOC思想【new组件】
8.IOC思想
pom依赖 applicationContext.xml Test applicationContext.xml |
创建工程
applicationContext.xml 配置mybatis-config.xml文件 实体类 UserMapper.xml UserServiceImpl |
AOP
POM依赖 mapper接口 实现类 ComputerMapper StoreMapper applicationContext.xml mybatis-config.xml 测试 computerId在数据库中存在,nums小于数据库里的cmount computerId在数据库中不存在 nums大于数据库里的cmount 头文件 声明、事务驱动 第3步 /** 事务只加在service层 |
AOP去除事务注解版 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式 execution(* com.sample.service.impl..*.*(..)) execution()是最常用的切点函数,其语法如下所示: 整个表达式可以分为五个部分: 1、execution(): 表达式主体。 2、第一个*号:表示返回类型,*号表示所有的类型。 3、包名:表示需要拦截的包名,后面的两个句点表示当前包和当前包的所有子包,com.sample.service.impl包、子孙包下所有类的方法。 4、第二个*号:表示类名,*号表示所有的类。 5、*(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。 |
SpringMVC
依赖 web.xml applicationContext.xml IndexController SpringMVC处理流程 1.客户端浏览器访问:http://localhost:8080/xx.do 2.web.xml DispatcherServlet 2.2匹配请求路径 匹配步骤: (1)通过上下扫描器 扫描...路径下的controller包 <context:component-scan base-package="cn.kgc.controller"/> (2)通过mvc驱动的获取...路径下的@Controller标识的控制层 (3)通过RequestMapping获取xx.do对应的方法路径调用该方法【映射】 @RequestMapping("/index.do") 视图解析器 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> prefix中的va1ue配置/代表的含义是匹配工程 中的webapp目录[前缀路径] suffix中的value配置.jsp代表的含义是匹配所有的.jsp为后缀的文件文件 1. 前端控制器 1.在web.xml配置servlet和servlet-mapping一对映射 2.1在servlet中需要配置 DispatcherServlet类 2.2配置初始化参数 引入spring配置文件 3.在servlet-mapping的url-pattern中加入*.do获取客户端发送的请求和controller端匹配的方法的路径(*.do)【模糊匹配】 2. 扫描器,mvc驱动 --> 通过context:component-scan扫描某个路径 (例如base-package="cn.kgc.controller"中的路径)下控制层的 类[@Controller标识的类就称为控制层的类] 或是方法[@RequestMapping标识的方法就称为springmvc中控制层的方法] 3. 控制类注解@Controller 用于标识HelloWorldController类为Spring MVC的控制器 4. url请求地址注解@RequestMapping url请求参数注解@RequestParam 场景一:方法在加入String username 场景二:方法中加入@RequestParam传递参数username 场景三:方法中加入require = false 可传可不传 场景四:方法中加入require = true 必须传值 场景五:默认传值 视图返回字符串对象String 添加模型数据:ModelAndView.addObject(String attributeName,Object attributeValue); 设置视图名称:void setViewName(String viewName); 视图解析器 login.jsp index.jsp findAll.do 依赖 list.jsp add.do add.jsp 当用户发送请求到springmvc中的前端控制器中,通过映射器和适配器返回ModelAndView对象到客户端。这就是SpringMVC的基本原理。 |