- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用实例工厂方法实例化Bean 实例工厂方法必须提供工厂实例,因此,必须配置工厂实例,由于BeanFactory不再直接实例化该Bean,仅仅执行工厂中的方法,而Bean元素不需要Class属性 类Farmer代码 Spring中配置文件 在实例工厂的XML配置文件中,与平时Bean的配置相同,但在配置hello时,class属性必须为空,需要通过factory-bean制定前面已经配置好的Bean的id …… public Vegetables factory(String name) throws Badrequest{ if(name.equalsIgnoreCase(tomato)){ return new Tomato(); } …… descriptionSpring Quick Start/description !-- 配置非静态工厂Bean --! bean id=Farmer class=Farmer/bean !--factory-bean必须是一个已经存在了的Bean—- bean id=hello factory-bean=Farmer factory-method=factory !--配置参数--! constructor-arg valueTomato/value /constructor-arg /bean 实例工厂方法和静态工厂方法用法相似,区别在于 调用实例工厂方法创建Bean时,必须将实例工厂配置成实例 调用实例工厂方法创建Bean时,必须使用factory-bean确定工厂Bean,而静态工厂方法则使用class元素确定静态工厂类 控制反转的实现 面向切面编程 Spring与Struts 2的整合 Spring与Hibernate的整合 Struts 2+Hibernate+Spring的整合 面向切面编程 AOP是Aspect-Oriented Programming的简称,即面向切面的编程,是一种编程思想,它可以通过预编译方式和运行期动态代理,实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,是对传统OOP编程的一种补充 认识AOP 由Gregor Kiczales在Palo Alto研究中心提出,其主要思想是将日志文件、性能统计、安全控制、事务处理、异常处理等代码从业务逻辑中分离出来,将它们独立到非指导业务逻辑的方法中,保证了对业务逻辑代码的干扰 在传统的面向对象编程中,总是按照特定的执行顺序实现业务流程,各步骤间相互衔接,若出现异常,需要处理后才能执行下一步的操作,利用OOP可以很好的处理业务流程,但对于重复性行为则无法独立处理 采用AOP的编程理念后,在处理业务流程时,将程序的预处理和后处理交给某个拦截器完成,而重复性行为,如数据库的日志文件,则交给一个特定的日志记录模块去处理,这样简化了业务流程,模块间的分工更加明确 常用术语 关注点(Concern) 切面(Aspect) 连接点(Join Point) 切入点(Pointcut) 通知(Advice) 引入(Introduction) 目标对象(Target Object) AOP代理(AOP Proxy) 织入(Weaving) 关注点是要考察或解决的问题,关注点中的核心关注点,是指系统中的核心功能,而横切关注点,则是跨越多个模块解决同一问题,如日志文件、用户验证等。在AOP的编程思想中,可以把系统视为多个关注点的有机组成 切面是对交叉业务逻辑的统称,是一个关注点的模块化,可能会横切多个对象和模块。在实际应用中通常是存放方面实现的普通Java类,要被识别为切面,需要在配置中通过bean指定 连接点指切面可以织入到目标对象的位置(方法、属性等),能被方法调用,也可以添加新的方法。对于Spring2.0而言,连接点只能是方法,只有被纳入某个CutPoint的连接点才有可能被通知 切入点指通知应用到哪些类的哪些方法或属性之上的规则,指一个或多个连接点,可以理解成连接点的集合,通知是通过切入点来连接和介入连接点的 通知是切面的具体实现,根据通知织入到业务代码时执行的时间,可分为前置通知、后置通知、异常通知、环绕通知和最终通知等五种,具体的需在配置中指定 引入是指动态地给一个对象增加方法或属性的一种特殊的通知,给一个现有类添加方法或字段属性,还可以在不改变现有类代码的情况下,让现有的java类实现新的接口 将要织入切面的对象,即被通知的对象,只包含核心业务逻辑代码,所有日志、事务、安全验证等方面的功能等待AOP容器的织入 AOP代理是AOP框架创建的对象,将通知应用到目标对象之后,被动态创建的对象,相当于目标对象中实现的核心业务逻辑功能加上方面代码实现的功能 织
您可能关注的文档
- InDesign CS6数字化版面设计“第6章画册设计——图像的置入与管理”文件夹.pptx
- InDesign CS6数字化版面设计“第7章商业表格的制作——编辑处理表格”文件夹.pptx
- InDesign CS6数字化版面设计“第8章出版物的版式设计——版面的构造与融合”文件夹.pptx
- InDesign CS6数字化版面设计“第9章出版物的索引——目录的处理”文件夹.pptx
- InDesign CS6数字化版面设计“第10章数字出版快速入门”文件夹.pptx
- InDesign CS6数字化版面设计“第11章印刷品的输出设置”文件夹.pptx
- InDesign CS6数字化版面设计“第12章综合实例”文件夹.pptx
- Internet 基础与操作Internet基础.ppt
- Internet 基础与操作电子商务.ppt
- Internet 基础与操作电子邮件.ppt
最近下载
- 秋季安全生产培训ppt.pptx VIP
- (完整word版)护理安全(不良)事件报告制度及工作流程.docx VIP
- 体育教学工作总结学情分析报告(共8).docx VIP
- 内部审核工作程序.pdf VIP
- 怪物猎人3金手指素材代码.doc VIP
- 马工程-中国古代文学史(第二版)第三编上册魏晋南北朝文学PPT课件-50109.docx VIP
- 传统节日中秋节介绍英文版ppt课件.pptx VIP
- 销售合同管理excel表格系统 台账登记统计 到期提醒Excel表格模板 (9).xlsx VIP
- 刘毅5000词汇.doc VIP
- 《单相全桥逆变器死区效应分析及补偿方法》-毕业论文(设计).doc VIP
文档评论(0)