最近手头的项目刚验收完成,有了很多空余时间,第一次写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 代码
- <bean id="person" class="com.test.Person" />
- <bean id="person.address.city" class="org.springframework.beans.factory.config.PropertyPathFactoryBean">
- <property name="targetObject">
- <ref local="person" />
- property>
- <bean id="xxxBean" class="com.test.xxxBean">
- <property name="cityName">
- <ref local="person.address.city" />
- property>
- bean>
类com.test.Person中有个address类型的属性,而address中又有一个String类型的city属性,上面的配置是将city属性注入到
com.test.xxxBean的cityName属性中。
顺便提一下这里fckeditor好像有问题,编辑的内容有时候提交掉,代码编辑器会提交后会掉符号尤其是“>”,不知道其他人有
没有遇到过这种情况。
<bean class="org.springframework.beans.factory.config.PropertyPathFactoryBean</font>" id="person.address.city"></bean>
org.springframework.beans.factory.config.FieldRetrievingFactoryBean能够获取类中的静态域变量,使用这个工厂在来注入常量很方便,代码如下:
xml 代码
- <bean id="max-long" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
- <property name="staticField">
- <value>java.lang.Long.MAX_VALUEvalue>
- property>
- bean>
-
注入的时候只需要声明式的调用"max-long"来注入就行了。
分享到:
相关推荐
《Spring5高级编程第五版》是一本深入探讨Spring框架核心特性和高级用法的专业书籍,主要面向已经具备一定Java和Spring基础的开发者。本指南旨在帮助读者深化对Spring的理解,提升开发效率,以及掌握最新的Spring5...
总结起来,Spring框架的高级编程结合Twisted Matrix,可以为我们提供一个强大、可扩展且易于维护的网络服务架构。通过Spring的IoC和AOP,我们可以专注于业务逻辑,而将网络通信和资源管理交给框架来处理。同时,...
1. **Spring JMS抽象层**:Spring提供了一个高级的API,它抽象了JMS的底层细节,使得开发者可以专注于业务逻辑而不是消息系统的复杂性。Spring的`JmsTemplate`是这个抽象层的核心,它简化了发送和接收消息的操作。 ...
Spring框架是Java开发领域中的一个核心...对于初入IT行业的人员来说,这是一条理解高级技术、提升专业素养的有效途径。在阅读过程中,做笔记是非常重要的,可以帮助理解和记忆,同时也可以作为未来解决问题的参考资料。
Spring框架是一系列应用框架的核心,也可以说是整合其他应用框架的基座。同时还是SpringBoot的基础。在当下的市场开发环境中,Spring占据的地位是非常高的,基本已经成为了开发者绕不过去的框架了。它里面包含了...
《Spring高级程序设计Code》是针对Java开发人员深入学习Spring框架的一份宝贵资源。这个压缩包文件包含了多个部分,从21204.part1.rar到21204.part6.rar,很可能是为了便于大文件传输而分割的。本文将详细解析Spring...
在Spring框架中,面试常涉及的关键知识点包括Spring的IoC(控制反转)、依赖注入、Bean的生命周期、AOP(面向切面编程)、事务管理、设计模式以及特定的类和注解如`@Service`、`@Repository`和`ThreadLocal`的使用。...
Java高级编程是一个涵盖广泛的主题,包括但不限于多线程、网络编程、I/O流、集合框架、反射、注解、设计模式、JVM优化等多个方面。这份"java高级编程.zip"的压缩包文件很可能是为了帮助Java开发者深入理解这些概念而...
《Spring高级源码分析》是针对Java开发人员深入理解Spring框架的一份宝贵资源。Spring作为Java企业级应用的基石,其强大的功能和灵活性源于其深厚的设计理念和精巧的源码实现。本分析将深入探讨Spring的核心机制,...
Spring框架的核心特性之一就是它的“核心容器”,而这一部分包含了Spring框架最基本的功能,即IoC(Inversion of Control,控制反转)和DI。 #### 二、控制反转(IoC) 在传统的程序设计模式中,对象通常会直接...
在本项目中,不再使用传统的XmlBeanFactory,而是转向ApplicationContext,这是一个更高级的bean工厂,支持从XML、注解或Java配置类加载bean定义。 ApplicationContext提供了更丰富的功能,如支持国际化、事件发布...
在Java高级编程面试中,掌握一系列关键知识点是至关重要的。这份"Java 高级编程面试准备资料"PDF文件,很可能是为了帮助求职者们更好地应对那些面向经验丰富的Java开发者的面试挑战。以下是一些可能涵盖的重要Java...
总的来说,JavaEE Spring中的静态工厂创建实例是一种高级的DI实现方式,它提供了更多的灵活性和控制力,但同时也增加了代码的复杂性。理解并合理运用静态工厂方法,可以帮助我们更好地设计和组织应用程序的架构。在...
Spring框架则是一个全面的企业级应用开发框架,提供了一个包括数据访问、事务管理、依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等在内的解决方案。这两个框架在Java开发中有着广泛的应用,通常配合使用...
### Spring培训笔记第一天:深入理解Spring框架的核心概念与实践 #### Spring框架简介 Spring框架是企业级应用开发中广泛使用的轻量级框架,它通过提供一系列的开发模式和最佳实践来简化Java应用的开发过程。...
《实战C#.NET编程-Spring.NET & NHibernate从入门到精通》是一本深入浅出的教程,专注于使用C#语言和.NET框架结合Spring.NET与NHibernate两大流行框架进行实际项目开发。Spring.NET是.NET平台上的一款轻量级应用程序...
总结来说,Spring 框架通过提供一系列高级特性,如依赖注入、面向切面编程和事务管理,极大地简化了 Java 应用的开发。它不仅适合于 Java SE 环境下的桌面应用,也能在 Java EE 环境下发挥重要作用,成为了现代 Java...
4. **面向切面编程**:介绍AOP的基本概念,如切面、通知、切入点和织入,以及如何在Spring中实现AOP。 5. **数据访问**:讨论Spring对JDBC、ORM和OXM的支持,以及如何整合Hibernate、MyBatis等框架。 6. **Spring ...
- **BeanFactory**: BeanFactory是Spring框架的基础,它是一个工厂模式的实现,主要负责实例化、定位及配置应用程序中的对象(即Bean)。BeanFactory通过XML或注解的方式定义Bean之间的依赖关系,并负责创建这些Bean...