请问我在Spring IOC环境中 new Object ,这种插入事物管理吗.
举例
MyService service = new MyService();
service.updateXXX();
这个 updateXXX.是否开启事物啊。我用的 @Transcationl 这种注解
可以。
Spring 支持三种AOP weaving.
通常我们开发只用到了第三种,这是大家熟悉的方式。
你所说的方法可以通过 Compile Time Weaving方式实现。 Spring 2.5 引入 AspectJ,提供了 @Configurable 来实现compile time weaving.
你需要作的是:
编译过后,如果想知道 AspectJ Compiler做了,可以再反编译你的类的class 文件,会发现内容丰富了很多(通过 Aspect 相关的 API 加入其它注入内容)。
通过这种方式,编译过来的类,不管是使用 new Object还是 Reflect 方式创建新对象时,相关的资料就会注入,使用时和普通 Spring Beans 没太大差别。
它可以很好的解决在 Spring 中管理一些非 Spring 容器的类。如在 JPA EntityListener, JSF Converter, Components 中使用Spring Beans。
第二种情况也是有很多例子,特别是一些监控方面的程序,用 Load Time 比较多,Spring 自己提供了 Tomcat 等的 Loadtime Agents, 就是这种情况.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。