黑马程序员技术交流社区

标题: 【成都校区】Spring框架概述 [打印本页]

作者: 小刀葛小伦    时间: 2017-7-27 09:08
标题: 【成都校区】Spring框架概述
一:为什么要使用Spring
简介 
  目的:解决企业应用开发的复杂性
  功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
  范围:任何Java应用
  简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
1.AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。

 2.IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。

 3.Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。
4.这次讲到Spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转IOC\依赖注入(DI),和AOP面向切面编程
5.Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架
n分层来自JavaEE体系结构 (客户端层、 web层、业务层、持久层
服务器端三层结构 web层、业务层、持久层)
二:控制反转IOC依赖注入DI,因为翻译的不同,因此有两个名字.
1.控制反转IOC, 全称 “Inversion of Control依赖注入DI, 全称 “Dependency Injection”。
2.控制反转:
意思就是说,当我们调用一个方法或者类时,不再有我们主动去创建这个类的对象,控制权交给别人spring)
3.依赖注入:
意思就是说spring主动创建被调用类的对象,然后把这个对象注入到我们自己的类中,使得我们可以使用它。
AOP面向切面编程SpringAOP的概念[size=12.0000pt]1.把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用。
   2.Spring AOPAOP代理默认使用标准的J2SE动态代理,这样就可以代理任何接口。
Aspect切面:封装共性功能的(增强功能的)类
Advice通过:切面类中封装的增强功能的方法。
PointCut:切入点,是一个集合的概念,该集合的表达使用一个正则表达式表达
      所有核心业务对象的所有方法的前后(事务处理AOP典型的应用)
JoinPoint:连接点,程序中需要加入advice的地方,而且正在执行的ponitCut
织入(Weaving):将aspect和核心业务对象,进行整合的过程。
:小结一下
其实IoC/DI对编程带来的最大改变不是从代码上,而是从思想上,发生了“主从换位”的变化。应用程序原本是老大,要获取什么资源都是主动出击,但是在IoC/DI思想中,应用程序就变成被动的了,被动的等待IoC/DI容器来创建并注入它所需要的资源了。
  这么小小的一个改变其实是编程思想的一个大进步,这样就有效的分离了对象和它所需要的外部资源,使得它们松散耦合,有利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活


作者: 美美哒的大眼睛    时间: 2017-7-27 09:20
Spring Projects
From configuration to security, web apps to big data – whatever the infrastructure needs of your application may be, there is a Spring Project to help you build it. Start small and use just what you need – Spring is modular by design.
其实我就是来装个X,不要理我就是了
作者: 成都校区    时间: 2017-7-27 09:24
赞一个,不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2