前言:
框架是可以帮助我们构建规范的,优秀的应用程序、简化繁琐的编码过程
而Spring的作用不止如此,它的目标是是JavaEE更易使用并促进良好的编程习惯
Spring是一个功能丰富而且易用的集成框架,其核心是一个完整的基于控制反转 IOC的轻量级容器,用户可以使用它建立自己的应用程序。
在容器之上,Spring提供了大量实用的服务,将很多高质量的开源项目集成到统一的框架之上。
单词:
Inversion 反转
Control 控制
Dependency 依赖
Injection 注入
Aspect-oriented 面向切面
Programming 编程
Advice 建议
Aspect 切面
Join point 结合
Alliance 联盟
Pointcut 切入点
Weaving 织入
Signature 签名
Expression 表达式
Execution 执行
企业级应用开发
企业级应用是指那些为商业组织,大型企业而创建并部署解决方案及应用。
这样的大型企业级应用结构复杂,涉及的外部资源众多、事务密集、数据规模大、用户数量多、有较强的安全性考虑和较高的性能要求。
这些企业级应用不会是一个个的独立系统
一般都会部署多个进行交互的应用,同时这些应用又都有可能与其他的企业相关的应用连接
从而构成一个结构复杂的、跨越Internet的分布式企业应用集群
而且作为企业级应用,不但要有强大的功能,还有满足未来业务的需求变化,易于扩展和维护。
Spring致力于 JavaEE 应用的各种解决方案,而不是仅仅专注于某一层的方案
Spring是企业应用开发的 “一站式” 选择,spring贯穿表现层、业务层、持久层
Spring框架由大约 20个功能模块组成
这些模块被分成了六个部分:
Core container
Data Access / Integration
Web
AOP
Instrumentation
Test
’
Spring IOC
控制反转 inversion of control ,也称为依赖注入 dependency injection
是面向对对象编程中的一种设计理念,用来降低程序代码之间的耦合度
依赖,是指在代码中一般通过局部变量,方法参数、返回值等建立的对于其他对象的调用关系
几乎所有的应用都是由两个或更多的类通过彼此合作来实现完整的功能
类与类之间的依赖增加了程序开发的复杂程度,我们开发一个类的时候还要考虑对正在使用该类的其他类的影响
编写Spring配置文件
SpringAOP
面向切面编程 aspect oriented programming ,是软件编程思想发展到一定阶段的产物
是对 面向对象编程 object oriented programming 的有益补充。
AOP一般适用于具有横切逻辑的场合,如访问控制、事务管理、性能检测等。
面向切面编程,就是在不改变原程序的基础上为代码段增加新的功能,对代码进行增强处理
它的设计思想来自于代理模式。
这种模式下,给编程人员的感觉就是在原有代码乃至原业务流程中都不修改的情况下,直接在业务流程中切入新代码,增加新功能。
切面可以理解为由增强处理和切入点组成,既包含了横切逻辑的定义,也包含了连接点的定义
面向切面主要关心两个问题,即在什么位置,执行什么功能
SpringAOP 是负责实施切面的框架,即由SpringAOP完成织入工作。
总结:
Spring是一个轻量级的框架,提供了IOC容器,AOP实现、DAO/ORM支持、web集成功能
依赖注入让组件之间以配置文件的形式组织在一起,而不是硬编码的方式耦合在一起。
Spring配置文件是完成装配的主要场所,常用的节点是 <bean> 和 <property> 。
AOP的目的是从系统中分离出切面,独立于业务逻辑实现,在程序执行时织入程序中运行。
面向切面编程主要关心两个问题,在什么位置,执行什么功能。
配置AOP主要使用 aop 命名空间下的元素完成,可以实现定义切入点和织入增强等操作。