私はstruts2.2とspring 3.1を持つappを持っています。私はspring autowireを無効にしたいと思います。 私はちょっとグーグルで、<beans>
タブdefault-autowire="no"
に置かなければならないが、これはうまくいかないとわかった。spring autowireを無効にする
次に、<bean>
タグごとにこれを宣言できると確信しています:<bean autowire="no">
しかし、これはどちらかと思われません。
私は春のデバッグロガーを有効にすると、私はこのようなメッセージAOFたくさん見ることができます:
INFO:DEBUG [HTTPスレッドプール-8080(3)](ConstructorResolver.java:739) - オートワイヤリングをタイプ別の名前のBeanへのコンストラクタ経由でBean名 'com.common.actions.PopupAction' から 'intermedService'
とapplicationConfig.xml内の対応するエントリは次のとおりです。
<beans default-autowire="no"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<bean id="PopupAction" scope="prototype" class="com.common.actions.PopupAction" autowire="no">
<constructor-arg type="com.common.services.abs.iIntermedService" ref="intermedService"/>
<constructor-arg type="com.common.services.abs.iLocationService" ref="locationService"/>
<constructor-arg type="com.common.services.abs.iUserService" ref="userService"/>
<constructor-arg type="com.common.services.abs.iPhoneService" ref="phoneService"/>
</bean>
私はここで手作業で依存関係を定義し、私がauto-wire="no"
を定義している限り、なぜこの動作をautowireしようとしていますか?
このメッセージは、コンストラクタ経由で配線が行われたことを示しています(私が望むように)、「タイプによる自動配線」は、4つのパラメータからintermedServiceを、または、他の何か)?
こんにちはデイブ、私は何をしているかにかかわらず、私はいつもオートワイヤー:)です。私はこれを現時点のままにしておきます。たぶん、次のバージョンのstruts-springプラグインでは、この動作を無効にすることができます –