自动装配Jdbc模板

Ami*_*mit 7 spring spring-mvc jdbctemplate

我试图自动连接JDBC模板,我得到一个空指针异常(模板为空).可能是什么问题呢?

@Autowired
template JdbcTemplate;
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序上下文xml:

<bean ..>
    <mvc:annotation-driven />

            <context:component-scan base-package="igate.dto" />
                <context:component-scan base-package="igate.dao" />
                    <context:component-scan base-package="igate.service" />
                        <context:component-scan base-package="igate.controller" />
                <context:component-scan base-package="igate.logs" />
                    <context:component-scan base-package="igate.testcases" />


    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="prefix" value="/"/>
          <property name="suffix" value=".jsp" />
            </bean> 


    <bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="jdbc:oracle:thin:@172.21.17.5:1521:oraten" />
        <property name="username" value="lab01trg21" />
        <property name="password" value="lab01oracle" />
    </bean>

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

</beans>
Run Code Online (Sandbox Code Playgroud)

小智 7

相反,这个代码:

 @Autowired
 template JdbcTemplate;
Run Code Online (Sandbox Code Playgroud)

你需要 :

  @Autowired
  JdbcTemplate template ;
Run Code Online (Sandbox Code Playgroud)


Evg*_*rov 4

  1. 您尝试注入的 bean 不在 spring 上下文中;
  2. JdbcTemplate 没有设置器
  3. 您尝试在注入模板之前在构造函数中使用模板