文档章节

spring ioc 和 aop-----一些小结

bosscheng
 bosscheng
发布于 2013/05/22 15:54
字数 441
阅读 28
收藏 0

话说,学习spring也快大半年了,写业务层代码也写了半年之久了,对于spring中的一些核心技术现在还是似懂非懂的,很是纠结啊。。。

最近一直看别人写的对于这一块的理解,于是乎,我有点懂了。

首先来谈谈什么是Ioc(Inversion of controler,控制反转)

基本的java思想:Java程序中的每个业务逻辑至少需要两个或者以上的对象来协作完成、通常,每一个对象在使用他的合作对象的时候,自己均要使用像new.object()这样的语句来完成合作对象的申请。这样对象之间的耦合度很高。

而Ioc的思想是:spring容器来实现这些相互依赖对象的创建,协调工作。对象只需要关系业务逻辑本身就可以了。这样的话,对象如何得到他的合作对象的责任就被反转了。

Ioc的一个重点是在系统运行中,动态的向某个对象提供他们所需要的对象。这一点是通过DI(dependency injection,依赖注入);来实现的。

对于实现依赖注入,就需要用到java1.4之后的的新特性-反射(reflection),他允许程序在运行的时候动态的生成对象,执行对象的方法,改变对象的属性,spring正是通过这一特性来实现注入的。


再来看看AOP(Aspect Oriented Programing)-面向切面编程呢?

首先看看学习AOP之前需要了解的术语

  • 连接点(jointPoint)

  • 切点(pointCut)

  • 增强(advice)

  • 目标对象(target)

  • 引介(introduction)

  • 代理(proxy)

  • 切面(aspect)

AOP的实现者

  • AspectJ

  • AspectWerkz

  • JBoss AOP

  • spring AOP




© 著作权归作者所有

共有 人打赏支持
bosscheng
粉丝 81
博文 303
码字总数 95443
作品 0
南京
前端工程师
私信 提问
那些年,我们一起追的Spring

学无止境,但仍需及时总结。 自去年开始写作以来,写了一些关于Spring的文章,今天将它们汇总起来,一方面方便大家阅读,另一方面,也是一次小的复盘总结。 IOC 首先是Spring的IOC,也就是控...

SexyCode
08/14
0
0
spring中的AOP与IOC

在J2EE的整个发展历程中,现在正是一个非常时刻。从很多方面来说,J2EE都是一个伟大的成功:它成功地在从前没有标准的地方建立了标准;大大提升了企业级软件的开放程度,并且得到了整个行业和...

Sandy_wu
2013/06/08
0
0
Spring归纳小结

前言 如果说有什么框架是Java程序员必然会学习、使用到的,那么Spring肯定是其中之一。本篇博客,将根据博主在日常工作中对Spring的使用做一个系统的归纳小结。 Spring的一些概念和思想 Spri...

张丰哲
2017/10/06
0
0
Spring中的AOP(二)——AOP基本概念和Spring对AOP的支持

AOP的基本概念 AOP从运行的角度考虑程序的流程,提取业务处理过程的切面。AOP面向的是程序运行中的各个步骤,希望以更好的方式来组合业务逻辑的各个步骤。AOP框架并不与特定的代码耦合,AOP...

摆渡者
2014/03/17
0
3
IOC/AOP工具 - jBeanBox

jBeanBox是一个微形但功能较齐全的IOC/AOP工具适用于JAVA7+,利用了Java的初始化块实现的Java配置代替XML。jBeanBox采用Apache License 2.0开源协议。 其他一些IOC/AOP框架的问题: 1)Sprin...

yong9981
2016/07/25
0
14

没有更多内容

加载失败,请刷新页面

加载更多

爬虫教程」Python做一个简单爬虫,小白也能看懂的教程

俗话说“巧妇难为无米之炊”,除了传统的数据源,如历史年鉴,实验数据等,很难有更为简便快捷的方式获得数据,在目前互联网的飞速发展写,大量的数据可以通过网页直接采集,“网络爬虫”应运...

糖宝lsh
今天
1
0
KEIL MDK工程中的宏定义:字符,值,字符串

下图中定义了2个宏: 等效于文件中: #define MCU_FLASH_LESSTHAN_64K #define VERSION_INFO_hw 'a' // MDK :VERSION_INFO_hw="'a'" 即MDK中的VERSION_INFO_hw="'a'" 和 #define VERS......

SamXIAO
今天
0
0
集合的最优子集划分

问题描述:如何将一个个数为n的集合N划分为为若干个子集N1…Nk,其中1≤k≤n,计算出每个子集的最优结果R1…Rk,使得F(R1…Rk)为最优的结果。 这个问题可以分成3步解决: 求出集合所有子集 ...

laolin23
今天
0
0
JavaScript实现在线Markdown编辑器、转换HTML工具-toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。T...

toolfk
今天
3
0
Source Tree 在git 密码更新后,无法拉取代码的解决办法

背景: git 密码总是需要修改。在修改代码后,拉去代码, source tree 总提示access denied. 解决方法:重新修改git 仓库对应的密码。 for mac:应用程序 -》 钥匙串 -》 搜索 source tre...

Carlyle_Lee
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部