Spring开源框架

为了解决企业应用开发的复杂性而创建的一个轻量级的Java 开发框架

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

Spring框架的目标是使得Java EE应用程序的开发更加简捷

 

基本框架:AOP、JEE、WEB、CORE、DAO、ORM

三种依赖注入方式:属性(Setter方法)注入,构造注入和接口注入

Spring  DAO:Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 。

Spring  AOP:Spring提供面向切面的编程,可以给某一层提供事务管理

Spring  Core:提供IOC容器对象的创建和处理依赖对象关系 。

Spring  JEE:J2EE开发规范的支持,例如EJB 。

Spring  WEB:Spring提供了对Struts、Springmvc的支持,支持WEB开发。与此同时Spring自身也提供了基于MVC的解决方案 

Spring  ORM:Spring可以与ORM框架整合

 

 

IOC容器

就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。

简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。IOC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦,如下图:

BeanFactory 是所有Spring应用的核心。Spring框架是建立在这个模块之上的,这也使得Spring成为一个容器。

IOC实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象

 

AOP容器(切面编程)

可以为某一类对象进行监督和控制从而达到对一个模块扩充的功能。比如说日志、安全、缓存等那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码

 

切面(Aspect):其实就是共有功能的实现。

通知(Advice):是切面的具体实现。

连接点(Joinpoint):就是程序在运行过程中能够插入切面的地点。

切入点(Pointcut):用于定义通知应该切入到哪些连接点上。

目标对象(Target):就是那些被通知的对象。

代理对象(Proxy):将通知应用到目标对象之后被动态创建的对象。

织入(Weaving):将切面应用到目标对象从而创建一个新的代理对象的过程。

把应用的业务逻辑与系统的服务分离开来

 

Bean

    每个Bean定义只存在一个实例,即Bean的scope默认是singleton的

 

SpringMVC

SpringMVC实现了mvc设计模式的web框架。

首先用户发出请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handler,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handler进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。

spring mvc的入口是servlet,而struts2是filter。

spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类

猜你喜欢

转载自blog.csdn.net/weixin_41328649/article/details/86027458