Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse中的动态Spring AOP?_Java_Spring_Aop_Aspectj_Spring Aop - Fatal编程技术网

Java Eclipse中的动态Spring AOP?

Java Eclipse中的动态Spring AOP?,java,spring,aop,aspectj,spring-aop,Java,Spring,Aop,Aspectj,Spring Aop,我正在使用EclipseJunoIDE 我有一个java应用程序 在程序中,我有这些类:Team.java Player.java 现在,我允许用户向团队中添加新的球员,用户将球员数据提供给我。 每个玩家都有一个日志文件 现在,当球员加入球队时,会发生一个事件“球员加入球队” 我想做的是记录这个事件,并将发生的事情写入播放器的日志文件中 我想用SpringAOP处理这些日志记录问题。那么如何做到这一点呢 我看到的所有示例都与applicationContext.xml文件一起使用。我需要写什么

我正在使用EclipseJunoIDE

我有一个java应用程序

在程序中,我有这些类:Team.java Player.java 现在,我允许用户向团队中添加新的球员,用户将球员数据提供给我。 每个玩家都有一个日志文件

现在,当球员加入球队时,会发生一个事件“球员加入球队” 我想做的是记录这个事件,并将发生的事情写入播放器的日志文件中

我想用SpringAOP处理这些日志记录问题。那么如何做到这一点呢

我看到的所有示例都与applicationContext.xml文件一起使用。我需要写什么
在此文件中,是否动态创建播放器

虽然一些教程让您相信Spring是用来定义值对象之间的依赖关系的,比如
House
bean依赖于
Door
Heating
bean等等,但典型的Spring应用程序并不是这样构建的。bean通常用于一次性地声明无状态的单例服务。引导后没有太多动态的东西

但是,您可以在示例中使用Spring。只需将播放器定义为原型,即可:

<bean class="Player" scope="prototype" lazy-init="true"/>

返回的bean将是功能完整的springbean,但Spring不会调用
@PreDestroy
回调。但是AOP会起作用。

请澄清您的问题。我不明白你想要什么。而且我无法对您的XML文件做出明智的评论,因为我没有看到它。;-)嗨,克里加克斯!我提出了我的问题:)@eliorsh:如果播放器是动态创建的(在一些您无法控制的代码中使用
new
操作符),那么您所能做的就是进行加载或编译时编织(LTW/CTW)+Spring.Tomasz,但是如果我创建自己的注释(接口)并用@retention(runtime)注释这个接口。。会有用的吗?托马斯非常感谢你!您建议使用原型是一个很好的解决方案!但我不明白你说的LTW/CTW是什么意思?它是什么?你有什么例子吗?@eliorsh:我不明白,什么注解?这对你有什么帮助?如果您无法控制的代码创建了
Player
对象,则必须使用LTW/CTW来拦截该进程。@eliorsh:LTW/CTW是一种重量级技术,您可以通过修改字节码来应用AOP。如果
prototype
scope适合您,那么请忘记它;-)。
applicationContext.getBean(Player.class);