0

私はこの構成を持っています:

<bean id="reader" class="com.company.MyReader" scope="prototype">
    <property name="dataSource" ref="dataSource"/>
    <property name="sql" value="select * from dummy"/>
    <property name="rowMapper" ref="rowMapper"/>
    <property name="verifyCursorPosition" value="false"/>
</bean>

<bean id="rowMapper" class="com.company.MyRowMapper>
    <property name="firstName" value="hillary/>
</bean>

MyRowMapper はorg.springframework.jdbc.core.RowMapperを実装します

MyReader はorg.springframework.batch.item.database.JdbcCursorItemReaderを拡張します

MyReader 内でsuper.doRead()が呼び出され、MyRowMapper オブジェクトが返されます。ただし、これらのオブジェクトはコンテナーによって自動配線されません。プロパティ firstName は null として返されます。予想どおり、MyReader は Spring コンテナーによって自動配線されていることに注意してください。

RowMapper が自動接続されるようにするには、何をする必要がありますか?

どうもありがとう!

4

1 に答える 1

1

MyReaderに注釈を付けて、MyRowMapperのインスタンスが必要であることをSpringに通知しましたか?

     public class com.company.MyReader{

        @Autowired
        private MyRowMapper mapper;


        public void setMyRowMapper(MyRowMapper newMapper){
            this.mapper = newMapper;
        }
    }
于 2012-08-30T13:09:26.333 に答える