如果我在Spring bean的私有方法上有一个@Transactional -annotation,该注释有什么作用吗?
如果@Transactional
注释位于公共方法上,则它将起作用并打开一个事务。
public class Bean {
public void doStuff() {
doPrivateStuff();
}
@Transactional
private void doPrivateStuff() {
}
}
...
Bean bean = (Bean)appContext.getBean("bean");
bean.doStuff();
你的问题的答案是否定的- @Transactional
如果用于注释私有方法,则将无效。代理生成器将忽略它们。
在Spring手册10.5.6章中有记录:
方法可见性和 @Transactional
使用代理时,应仅将@Transactional
注释应用于具有公共可见性的方法。如果使用注释对受保护的,私有的或程序包可见的方法进行 @Transactional
注释,则不会引发任何错误,但是带注释的方法不会显示已配置的事务设置。如果需要注释非公共方法,请考虑使用AspectJ(请参见下文)。
问题内容: 如果我在Spring bean的私有方法上有一个@Transactional -annotation,该注释有什么作用吗? 如果注释位于公共方法上,则它将起作用并打开一个事务。 问题答案: 问题不是私有的还是公共的,问题是:如何调用它以及你使用哪种AOP实现! 如果你使用(默认)Spring Proxy AOP,则仅当调用通过代理时,才会考虑Spring提供的所有AOP功能(如)。-如
在 Python 的面向对象编程中,私有属性是只能在类的实例方法中访问的属性,不允许在外界访问私有属性。 1. 私有属性的定义 1.1 定义 在属性名称前加上前缀 __,表示该属性为私有属性,示例代码如下: class Object: def method(self): self.__private_attribute = 123 在第 3 行,创建一个私有属性 __pr
我有几个用注释的公共方法,IntelliJ显示了警告,它们可以是包私有的,也可以是私有的。 既然用注释的方法应该是公共的,我如何才能在IntelliJ中仅对这些方法禁用此检查/警告?
我之前有一个关于这个问题的帖子已经解决了。然而,自从用自动连线bean和较少的XML配置重建项目后,我发现我正在重新考虑这个问题。我遵循了我以前的项目实现这一点的方式,但它不起作用。有人能帮助我为什么或者我应该改变什么来使它工作吗? 注册服务: 注册DAO:
问题内容: 我试图通过反射获取静态私有属性的值,但失败并显示错误。 我得到的异常是: 而且,我需要使用以下代码来调用一个私有的。 但是问题是Student类是单例类,并且构造函数是私有的,并且无法访问。 问题答案: 您可以将字段设置为可访问:
问题内容: 我正在尝试使用带注释的TX Spring支持。 应用程序上下文XML: 实际代码: 调用代码: 它给出了 FALSE。 我究竟做错了什么? 问题答案: 您应该在配置中添加它 在您的RepositoryClass上添加一个接口 这在你的测试课中 请参阅本教程。