Java 获取bean后的对象null

Java 获取bean后的对象null,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我有一个dao对象,在dao对象内部有以下代码: 当我得到bean MyDao时,对象为null。如果我删除@Transient注释,它会工作,但在updateUser上失败,因为它显示transactionRequiredException。有人知道如何解决这个问题吗?谢谢 @Service public abstract class MyDao extends HibernateDaoSupport { protected Integer batchSize; public

我有一个dao对象,在dao对象内部有以下代码: 当我得到bean MyDao时,对象为null。如果我删除@Transient注释,它会工作,但在updateUser上失败,因为它显示transactionRequiredException。有人知道如何解决这个问题吗?谢谢

@Service
public abstract class MyDao extends HibernateDaoSupport {
    protected Integer batchSize;

    public Integer getBatchSize() {
        return batchSize;
    }
    public void setBatchSize(Integer batchSize) {
        this.batchSize = batchSize;
    }

    @Transient
    public void updateUser() {
        String deleteHQL = "delete from users";
        this.getHibernateTemplate().bulkUpdate(); 

    }

}
豆子:


编辑: 当我调用TextDao testDao=(testDao)myContext.getBean(“testDao”);通过@Transactional,我看到了以下情况:

如果没有@Transactional,我会看到:


当我创建dao对象时,构造函数和setter不调用updateName。这就是我遇到的问题,我不太确定问题是什么。

可能的重复尝试在
@Service
类中自动连接此类,然后使用
@Transactional
@Dargenn注释appropiate方法。我尝试在类上添加
@Service
,但对象仍然为空。您查看的对象不正确。此代理将封装实际的对象实例。所以实际字段不是空的。还有,为什么它是一个作用域代理?@M.Deinum我还有其他字段,比如batchSize,它在对象中为null。当我删除
@Transactional
时,批大小填充为5000。
<bean id="myDao" name="dao" class="com.project.MyDao">
    <aop:scoped-proxy proxy-target-class="true" />
    <property name="batchSize" value="5000" />
</bean>