基于spring xml的配置autowire问题

时间:2017-05-17 14:05:52

标签: java spring

我正在使用xml配置运行spring应用程序。我在application-configuration.xml中定义了两个bean,后跟

   <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="myDataSource"></property>
   </bean>

   <bean id="myDataSource"
       class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="url" value="${db.url}" />
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />
   </bean>

我试图将bean简单地作为

public class SQLDbService {

    @Autowired
    JdbcTemplate jdbcTemplate;

    public void someMethod()
    {
        jdbcTemplate.execute();
    }
}

但是jdbcTemplate字段始终为null。 该应用程序从另一个类开始

public static void main(String[] args) throws InterruptedException {

   ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application-configuration.xml");
}

我尝试添加

<context:annotation-config/>

到应用程序配置。 我想知道在这一点上是否可以进行基于注释的自动装配,如果是的话,我缺少什么?

1 个答案:

答案 0 :(得分:1)

   <bean id="sQLDbService" class="path.to.your.package.SQLDbService">
        <property name="jdbcTemplate" ref="jdbcTemplate"></property>
   </bean>