什么是spring?
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 它解决了业务逻辑层和其他各层的松耦合问题
Spring的作用是什么?
接触Spring以来,发现Spring可以做非常多的事儿去简化Java开发
Spring的目标也是致力于全方位的简化Java开发的。那Spring是如何去简化的呢?
为了降低java的开发复杂性,Spring采取了4种关键策略:
1、基于pojo的轻量级和最小侵入式编程
2、通过依赖注入和面向接口实现松耦合
3、基于切面和惯例进行声明式编程
4、通过切面和模板减少样式版代码
Spring框架主要由七部分组成:分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC
Spring MVC的工作原理:
用户发送请求 前端控制器 dispatcherServle 接收用户请求和响应 解析到对应的handler (也就是controller) 通过hadler(请求查找) 处理器映射器 HandlerMapping 返回一个执行链 请求适配器执行 业务类 模型层数据 返回modelAndView数据 请求视图解析器解析 返回view 视图渲染,将模型数据填充到request域中
Spring事务的管理方式:
编程式事务
声明式事务
Spring的版本号
Spring1.x: Bean的xml配置文件只支持DTD,在配置文件里定义任何东西都需要通过<bean>元素
Spring2.0:Spring2.0支持基于xml schema的配置,允许使用spring的新标签,spring2.0支持注解驱动的配置,这些注解在特定的模块里有效,例如:@Required,事务@Transaction,等
Spring2.5:支持更多的注解,包括@Autowired和JSR-250注解的@Resource,@Controller @RequestMapping @RequestParam @modelattribute
Spring3.x 支持基于Java类配置
Spring4.x 1、 全面支持java8.0,支持Lambda表达式的使用 2、 Map依赖注入的支持,List依赖注入,CGlib动态代理的增强 3、web增强SpringMVC基于基于Servlet 3.0 开发,并且为了方便Restful开发,引入了新的RestController注解器注解,同时还增加了一个AsyncRestTemplate支持Rest客户端的异步无阻塞请求。4.websocket的支持。
Spring5.x: java8以上,核心容器更新,测试方面提升
总有一天,你会笑着说出那些让你流泪的往事,等你优秀了,你想要的都会来找你!