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