Spring:
1、spring是开源的轻量级框架
2、spring核心主要的两部分:
(1)aop:面向切面编程,扩展功能不是修改源代码实现的
(2)ioc:控制反转(依赖注入和控制反转,目的是为了使类与类之间解耦合,提高系统的可扩展性和可维护性)
比如有一个类,调用类的方法,是通过new出对象;在spring中不是用new,而是交给spring配置创建类对象;
3、spring是一站式框架
spring框架在javaEE三层架构中,每一层都提供不同的解决技术;
--web层:springmvc 表示层,给页面传递数据
--service层:spring的ioc 业务逻辑层,对数据进行处理
--dao层:spring的jdbcTemplate 数据访问层,操作数据库,对数据进行增删改查
4.依赖注入三种方式:
(1)接口注入(2)构造器注入(3)setter注入
两种配置方式:注解配置和xml配置
优缺点:注解方式:提高开发效率,利用java反射技术就可以完成任务,配置方便。业务之间的调用不好把握。
xml方式:进一步降低了耦合,能更清晰的表明各个对象之间,各个业务之间的调用。配置起来冗杂,增加了测试的难度。
有关注解注入:
Spring MVC:
1、spring mvc是一种基于java的实现了mvc设计模式的轻量级web框架
2、spring框架的作用:
3、spring mvc的工作原理:
(1)客户端请求提交到前端控制器(DispatcherServlet)
(2)由前端控制器查询一个或多个HandlerMapping,找到处理请求的Controller
(3)前端控制器将请求提交到Controller
(4)Controller调用业务逻辑处理后,返回ModeAndView
(5)前端控制器查询一个或多个视图解析器(ViewResoler),找到ModeAndView指定的视图。
(6)视图负责将结果显示到客户端。
其中的组件:
(1)前端控制器(DispatcherServlet)
作用:接受请求,响应结果,相当于转发器盟中央处理器。减少了其它组件之间的耦合度。
(2)处理器映射器(HandlerMapping)
作用:根据请求的url查找Handler
(3)处理器适配器(HandlerAdapter)
作用:按照特定规则去执行Handler
(4)Handler处理器
(5)视图解析器(ViewResoler)
作用:进行视图解析,根据逻辑视图名解析成真正的视图
(6)视图
View是一个接口,实现类支持不同的View类型(jsp.pdf)
SSM:
1、SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层
使用spring MVC负责请求的转发和视图管理
spring实现业务对象管理,mybatis作为数据对象的持久化引擎
2、ssm的整合:
第一步:整合dao层
mybatis和spring整合,通过spring管理mapper接口
使用mapper的扫描器自动扫描mapper接口在spring中的注册。
第二步:整合service层
通过spring管理service接口。
使用配置方式将service接口配置在spring配置文件中。
实现事务控制
第三步:整合springmvc
由于springmvc是spring的模块,不需要手动整合。
3、ssm的配置:
(1)在web.xml中配置前端控制器:
load-on-startup:表示启动容器时初始化该Servlet;
url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。
(2)在springmvc.xml中配置处理器适配器:(可不配置才用默认的)
(3)在springmvc.xml中开启注解扫描,配置视图处理器:
ssm整合的总配置:
(1)建立JDBC属性文件:
2.配置spring-mybaits.xml:
(3)Log4j的配置:
(4)配置springmvc.xml:
(5)配置web.xml:
写测试程序进行测试,完成整合。
相关面试题:
1、谈谈你对ssm框架的认识。
2、SpringMVC的工作原理。
3、springmvc和struts2的区别。