搜索

首页  >  问答  >  正文

java - SSH整合时 getHibernateTemplate()为空

@Repository
public class AuthorAdminDaoImpl implements IAuthorAdminDao {
    @Resource
    private BaseDAO basedao;
public boolean loginAuthorAdmin(AuthorAdmin aa) {
        try {
            String queryString = " from AuthorAdmin  a where a.authorName= ? and a.authorPwd= ? ";
            basedao=new BaseDAO();
            if (basedao.getTemplate() == null) {
                System.out.println("没有获得HibernateTemplate?");
            }
            List<AuthorAdmin> find = (List<AuthorAdmin>) basedao.getTemplate().find(
                    queryString, aa.getAuthorUsername(), aa.getAuthorPwd());
            if (find != null && find.size() > 0) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException();
        }


}
    }
public class BaseDAO extends HibernateDaoSupport{

    public HibernateTemplate getTemplate(){
        return getHibernateTemplate();
    }

}

HibernateTemplate为空不知道为什么?用的是Spring注入

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
xmlns="http://www.springframework.org/schema/beans"  
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd  
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">


<!-- 激活组件扫描功能,在包gk.aop及其子包下面自动扫描通过注解配置的组件 -->
     <context:component-scan base-package="com.lcy" />
    <!-- 激活自动代理功能,false或者省略基于接口的代理,为true基于类的的代理 -->
    <aop:aspectj-autoproxy proxy-target-class="false"/> 

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver">
        </property>
        <property name="url" value="jdbc:mysql://localhost:3306/ssh"></property>
        <property name="username" value="root"></property>
        <property name="password" value="root"></property>
    </bean>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                </prop>
                <prop key="hibernate.format_sql">
                    true
                </prop>
                <prop key="hibernate.show_sql">
                    true
                </prop>
                
            </props>
        </property>

        <property name="mappingResources">
            <list>
                <value>com/lcy/po/DocumentInfo.hbm.xml</value>
                <value>com/lcy/po/ColumnEditorAdmin.hbm.xml</value>
                <value>com/lcy/po/ExpertAdmin.hbm.xml</value>
                <value>com/lcy/po/AttachInfo.hbm.xml</value>
                <value>com/lcy/po/DocumentStateInfo.hbm.xml</value>
                <value>com/lcy/po/ColumnInfo.hbm.xml</value>
                <value>com/lcy/po/MessageInfo.hbm.xml</value>
                <value>com/lcy/po/MagazineEditorAdmin.hbm.xml</value>
                <value>com/lcy/po/BoardInfo.hbm.xml</value>
                <value>com/lcy/po/ExpertAssess.hbm.xml</value>
                <value>com/lcy/po/AuthorAdmin.hbm.xml</value>
            </list>
        </property>
    </bean>

    <bean id="basedao" class="com.lcy.dao.BaseDAO">
        <property name="sessionFactory">
            <ref bean="sessionFactory"></ref>
        </property>
    </bean>

</beans>
滿天的星座滿天的星座2751 天前818

全部回复(1)我来回复

  • 大家讲道理

    大家讲道理2017-06-12 09:28:34

    本来 Spring 已经帮你把 basedao 注入了你XML里配置好的对象, 你后面又用

    basedao = new BaseDAO();

    创建了个新对象, 把那个 Spring 给注入的 bean 替换掉了...

    回复
    0
  • 取消回复