添加上如下的一句就可以了
default-autowire="byName" default-lazy-init="true"
然后Spring的配置改为
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" default-autowire="byName" default-lazy-init="true">
其实对于使用
default-autowire="byName" default-lazy-init="true"
也还是要看情况来定的,搜了一下网上的,也有如下的问题
发现在spring中的Beans属性项中,写了这么一段“default-autowire="byName",. 恍然大悟,配置了这个属性项后,spring会对bean的属性自动按name去寻找, 如果找到则set进去,而不必对Bean的属性进行显式的Set。 仔细想想default-autowire="byName"应该算是最差实践吧,虽然能减少配置文件的书写量,可配置文件的可读性却大打折扣,一 个Bean你无法知道他有那些属性项,无法知道那些Bean与其相关,如果你碰巧修改了一个相关Bean而导致改Bean异常,估计要够你找的。 配置文件和代码一样,应该可读性强,清晰明了,一看就能明白,而default-autowire="byName"会导致配置文件几乎无法可读,你无法明白这些bean之间的相互关系,如果是你自己维护还好,换个第三者来,估计要把写配置文件的骂个底朝天。 |