首页 新闻 会员 周边

菜鸟,高手帮看一下 ,jdbctemplate 连接为null

0
悬赏园豆:50 [已解决问题] 解决于 2015-10-13 09:55

配置文件:

  <?xml version="1.0" encoding="UTF-8"?>
<beans      

     省略。。。。
     ">
   <!--自动声明-->   

    <context:annotation-config />

    <!-- 使用annotation 自动注册bean,并检查@Required,@Autowired的属性已被注入 -->
    <context:component-scan base-package="com.et.service" />
    <context:component-scan base-package="com.et.repository" />    
    <context:component-scan base-package="com.et.dao.impl"/>
    <context:component-scan base-package="test"/>
    
    
    
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:override.properties</value>
            </list>
        </property>
    </bean>
    
    <bean id="proxoolDataSource1" class="org.logicalcobwebs.proxool.ProxoolDataSource">
        <property name="driver" value="${jdbc.connection.driverClassName}"/>
        <property name="driverUrl" value="${dataSource.url1}"/>
        <property name="user" value="${dataSource.username1}"/>
        <property name="password" value="${dataSource.password1}"/>
        
        <!-- 测试的SQL执行语句 -->
        <property name="houseKeepingTestSql" value="${proxool.houseKeepingTestSql}"/>
        <!-- 最少保持的空闲连接数 (默认2个) -->
        <property name="prototypeCount" value="${proxool.prototypeCount}"/>
        <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒) -->
        <property name="houseKeepingSleepTime" value="${proxool.hourseKeepingSleepTime}"/>
        <!-- 最大活动时间(超过此时间线程将被kill,默认为5分钟) -->
        <property name="maximumActiveTime" value="${proxool.maximumActiveTime}"/>
        <!-- 连接最长时间(默认为4个小时) -->
        <property name="maximumConnectionLifetime" value="${proxool.maximumConnectionLifetime}"/>
        <!-- 最小连接数 (默认2个) -->
        <property name="minimumConnectionCount" value="${proxool.minimumConnectionCount}"/>
        <!-- 最大连接数 (默认5个) -->
        <property name="maximumConnectionCount" value="${proxool.maximumConnectionCount}"/>
        <!-- -->
        <property name="statistics" value="${proxool.statistics}"/>
        <!-- 别名 -->
        <property name="alias" value="${proxool.m.alias1}"/>
        <!-- -->
        <property name="simultaneousBuildThrottle" value="${proxool.simultaneous-build-throttle}"/>
    </bean>
    
    <!-- 配置SimpleJdbcTemplate 0级数据源-->
    <bean id="jdbcTemplateMiddle" class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg ref="proxoolDataSource1"></constructor-arg>
    </bean>
    
    <task:annotation-driven /> <!-- 定时器开关-->  
    <bean id="taskSchedule" class="com.et.service.WebJobService"></bean>  
 
    <task:scheduled-tasks>
           <task:scheduled ref="taskSchedule" method="makeMultipleTask" cron="${cron.onStarWeek}" />
    </task:scheduled-tasks>
</beans>

mian :

package test;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import com.et.entity.TaskDependList;

@Repository
public class test {
    @Autowired
    private static JdbcTemplate jdbcTemplateMiddle;

    public static void main(String[] args) {
        // ApplicationContext context = new
        // ClassPathXmlApplicationContext("applicationContext.xml");
        // JdbcTemplate jt = (JdbcTemplate)
        // context.getBean("jdbcTemplateMiddle");
        // int count = jt.queryForInt("select count(*) from TASK_DEPEND_LIST");
        // System.out.println(count);

       //上面这个方法成功输出


        if(jdbcTemplateMiddle==null){
            System.out.println("jdbc 为null");  //这里总是输出null
        }else{
            System.out.println("成功");
        }
    }

}

问题补充:

那个配置文件执行了哈,还有就是jdbcTemplateMiddle点什么方法都是空指针。

狗霸人间的主页 狗霸人间 | 初学一级 | 园豆:4
提问于:2015-10-08 09:57
< >
分享
最佳答案
-2
  1.  加一个管理
  2. <bean id = "TransactionManager"   
  3.          class = "org.springframework.jdbc.datasource.DataSourceTransactionManager">   
  4.          <property name = "dataSource" ref="dataSource"/>   
  5.   </bean>  
白Rime | 菜鸟二级 |园豆:211 | 2015-10-08 17:06

你的回答错了

狗霸人间 | 园豆:4 (初学一级) | 2015-10-08 18:04
其他回答(2)
0

// JdbcTemplate jt = (JdbcTemplate) context.getBean("jdbcTemplateMiddle");

大虾,你把这句话注释了,没有赋值bean对象当然是null呀,,

收获园豆:50
苏幕遮soft | 园豆:401 (菜鸟二级) | 2015-10-08 22:10

看清楚在回答好不好,大侠

支持(0) 反对(0) 狗霸人间 | 园豆:4 (初学一级) | 2015-10-13 09:53
0

把   static 去掉就对了,静态的注入不了

狗霸人间 | 园豆:4 (初学一级) | 2015-10-13 09:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册