spring @Autowired使用注意

本文详细介绍了如何在Spring框架中整合Hibernate,通过配置XML文件和使用注解的方式,实现UserDaoImpl类与HibernateTemplate的结合,完成数据持久化操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.yhy.dao.Impl;

import com.yhy.dao.IUserDao;
import com.yhy.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class UserDaoImpl implements IUserDao {
    @Autowired
    private HibernateTemplate hibernateTemplate;

    @Override
    public void save(User user) {
        hibernateTemplate.save(user);
    }
}

要使用HibernateTemplate得配置xml

    这是整合hiebernate的配置
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
       <property name="dataSource" ref="dataSource"></property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
        <property name="mappingLocations" value="classpath:com/yhy/model/*.hbm.xml"></property>
    </bean>
//在这里进行装配
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

如果不配置bean那么会报空异常,因为不知道用的哪个HibernateTemplate

 

其实我就是想说,如果当前类用注解的话,那么它的属性也得用注解,如果属性是框架的或者第三方的,不是自己写的,就要去配置xml,不然不行,就算你写了set方法,xml也配了,没写Autowired,也没用

因为当前类不用注解的话,配置的时候会配置类里的属性,而用注解了,就没再xml配,所以还是要用注解

所以容器都是先加载xml,在加载注解,这样才能初始化成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值