`
simon1118
  • 浏览: 11451 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring高级编程工厂介绍(一)

    博客分类:
  • Java
阅读更多

最近手头的项目刚验收完成,有了很多空余时间,第一次写blog有什么不对的地方请大家指正。


org.springframework.beans.factory.config.PropertyPathFactoryBean是一个很有用Bean工厂,大家在项目开发中用的比较多的依赖注入是对象实例注入,如果一个Bean构造函数中或方法中的参数不是一个对象而是普通的值或者是某个对象的一个属性,这时候就需要用到PropertyPathFactoryBean:

<bean class="com.test.Person" id="person"></bean> <property name="propertyPath"> <property name="targetBeanName">以下例子摘自wrox出版的《spring框架高级编程》中的一个例子,改了少量东西!
以后会继续更新! </property> </property>

 

xml 代码
  1. <bean id="person" class="com.test.Person" />  
  2. <bean id="person.address.city" class="org.springframework.beans.factory.config.PropertyPathFactoryBean">  
  3. <property name="targetObject">  
  4. <ref local="person" />  
  5. property>  
  6. <bean id="xxxBean" class="com.test.xxxBean">  
  7. <property name="cityName">  
  8. <ref local="person.address.city" />  
  9. property>  
  10. bean>  

 类com.test.Person中有个address类型的属性,而address中又有一个String类型的city属性,上面的配置是将city属性注入到
com.test.xxxBean的cityName属性中。

顺便提一下这里fckeditor好像有问题,编辑的内容有时候提交掉,代码编辑器会提交后会掉符号尤其是“>”,不知道其他人有
没有遇到过这种情况。

<bean class="org.springframework.beans.factory.config.PropertyPathFactoryBean&lt;/font&gt;" id="person.address.city"></bean>

 

 

org.springframework.beans.factory.config.FieldRetrievingFactoryBean能够获取类中的静态域变量,使用这个工厂在来注入常量很方便,代码如下:

xml 代码

 

  1. <bean id="max-long" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">  
  2. <property name="staticField">  
  3. <value>java.lang.Long.MAX_VALUEvalue>  
  4. property>  
  5. bean>  
  6.   

注入的时候只需要声明式的调用"max-long"来注入就行了。

 

分享到:
评论

相关推荐

    Spring高级之注解驱动开发视频教程

    Spring框架是一系列应用框架的核心,也可以说是整合其他应用框架的基座。同时还是SpringBoot的基础。在当下的市场开发环境中,Spring占据的地位是非常高的,基本已经成为了开发者绕不过去的框架了。它里面包含了...

    Spring 2.0 开发参考手册

    6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个切入点...

    spring chm文档

    6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个...

    Spring中文帮助文档

    6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个切入点...

    Spring攻略(第二版 中文高清版).part1

    第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 解决方案 59 2.2.3...

    Spring API

    6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个切入点...

    curso_spring-avanzado_20150907:高级Spring课程

    Web应用程序开发的Spring高级功能。 创建分布式系统:Web服务器和远程处理 与J2EE平台集成 在Spring中创建计划任务 Spring的测试驱动开发 ##链接 简单的Spring教程 以身作则 Spring参考 Spring和JPA /Hibernate...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    curso_spring-avanzado_20150706:高级Spring课程

    高级Spring课程##日程Spring Beans的高级功能豆类工厂的高级功能Spring本机面向方面的编程方面支持使用Hibernate进行数据访问使用JPA(Java Persistence API)进行数据访问Web应用程序开发的Spring高级功能。...

    Spring攻略(第二版 中文高清版).part2

    第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 解决方案 59 2.2.3...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    JAVA超全面试突击包-答案讲义

    Spring框架:包括Spring的核心概念,如依赖注入和面向切面编程 Spring Boot:包括Spring Boot的基础知识,如自动配置和起步依赖 Spring Cloud:包括Spring Cloud的核心组件,以及如何使用Spring Cloud来构建微服务...

    Pro Cryptography and Cryptanalysis with C++20

    能学到什么:①工厂模式、策略模式、观察者模式等都是怎么在Spring中体现的;②IOC、AOP、代理、切面、循环依赖都是如何设计和实现的。 阅读建议:此资源以开发简化版Spring学习其原理和内核,不仅是代码编写实现也...

    Java初级开发面试题

    Java高级特性:反射、泛型、枚举、注解、 Lambda表达式等。 Java虚拟机:Java内存模型、垃圾回收、类加载机制等。 常见的Java框架:Spring、Hibernate、Mybatis等。 Java设计模式:单例模式、工厂模式、代理模式...

    Java Web程序设计教程

    12.4springaop的代理工厂 253 12.4.1选择合适的代理 253 12.4.2proxyfactory 254 12.4.3proxyfactorybean 254 12.5项目实战——输出日志 256 本章小结 258 课后练习 259 第13章 spring与javaee持久化数据...

    积分管理系统java源码-knowledge:这是我的知识,包括我所有已知的

    多线程编程、线程池、fork-join、并发编程 annotation 枚举 泛型 反射 字符串和String研究 集合内容,List、Map 文件io和网络io bio、nio和aio 类加载器 常用设计模式 模板模式 单例模式 & 多例模式 代理模式 策略...

    10G的python数据分析与挖掘实战学习视频

    能学到什么:①工厂模式、策略模式、观察者模式等都是怎么在Spring中体现的;②IOC、AOP、代理、切面、循环依赖都是如何设计和实现的。 阅读建议:10G的Python数据分析与挖掘实战学习视频,包括了Python3数据科学...

    asp.net知识库

    .net中的正则表达式使用高级技巧 (一) C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET...

Global site tag (gtag.js) - Google Analytics