Spring 2.5Annotation使用基本类型和${}
最近使用了Spring2.5 annotation风格的DI,发现竟然不支持基本类型的自动装配,更别说使用PropertyPlaceholderConfigurer了。既然不支持,只能想其它的办法,最后使用XML和annotation相结合的方式解决了这个问题。
Bean定义
这样即使用了基本类型和PropertyPlaceholderConfigurer:)
这个写错了,构造函数的类型是java.lang.String
应该是:
否则会报“构造函数参数类型错误”的错~~
</bean>
这一段,我不觉得这一段比<property name="xxx" value="${pathId}"/>简单多少,甚至还更复杂.我觉得单独为基本类型而再去配置文件中加入一个bean配置是一个太过的作法.什么东西,我觉得只是让程序更简单化,难道为了某种效果去复杂化了,反而不好了. </bean>
这一段,我不觉得这一段比<property name="xxx" value="${pathId}"/>简单多少,甚至还更复杂.我觉得单独为基本类型而再去配置文件中加入一个bean配置是一个太过的作法.什么东西,我觉得只是让程序更简单化,难道为了某种效果去复杂化了,反而不好了.
只是提一种解决问题的方法,如果不用annotation当然没有这种问题。
问题是,你的项目采用了spring annotation的方式,一个类中有一些属性要注入,这些属性包括一些基本类型。你可以选择:
这个类使用XML格式配置,不使用annotation,这样不存在基本类型的问题使用我annotaiton,采用我上面提到的方法解决基本类型注入问题。
我会选择和项目更匹配的第二种方式。
选择第一种的话,项目中在类级别就存在annotaion和xml两种方式的IOC配置方式,不一致不说,增加复杂性。