学习了Spring的相关思想和技术,感觉博大精深,很多不太理解的地方,希望大家能指点迷津。
关于AOP,基础的思想就不多说了,我有一个疑问:
是不是用AOP的前提是主逻辑类必须要是Spring容器创建的啊?比如我的测试类:
ApplicationContext ctx = new FileSystemXmlApplicationContext("/applicationContext.xml");
AOPTest tester = new AOPTest();
AService serviceA = (AService) ctx.getBean("aService");
BServiceImpl serviceB = (BServiceImpl) ctx.getBean("bService");
tester.setAService(serviceA);
tester.setBService(serviceB);
tester.testCall();
但是如果是这样,我的AService和BServiceImpl必须是通过容器创建的,这样就大大限制了使用性。因为如果我想用AOP的思想来扩展现有系统,那首先要修改系统生产bean的逻辑(都从Spring容器创建),这个几乎是不可能实现的。
这样想来,是不是AOP是量身为Spring打造的?但是我看了相关资料,JBoss已经集成了AOP,还有Naning,更不用说AspectJ了,但是对于我自己的系统,有没有更好的解决方案,通过反射的方式织入AOP的思想呢?
请大侠们不吝赐教。
关于AOP,基础的思想就不多说了,我有一个疑问:
是不是用AOP的前提是主逻辑类必须要是Spring容器创建的啊?比如我的测试类:
ApplicationContext ctx = new FileSystemXmlApplicationContext("/applicationContext.xml");
AOPTest tester = new AOPTest();
AService serviceA = (AService) ctx.getBean("aService");
BServiceImpl serviceB = (BServiceImpl) ctx.getBean("bService");
tester.setAService(serviceA);
tester.setBService(serviceB);
tester.testCall();
但是如果是这样,我的AService和BServiceImpl必须是通过容器创建的,这样就大大限制了使用性。因为如果我想用AOP的思想来扩展现有系统,那首先要修改系统生产bean的逻辑(都从Spring容器创建),这个几乎是不可能实现的。
这样想来,是不是AOP是量身为Spring打造的?但是我看了相关资料,JBoss已经集成了AOP,还有Naning,更不用说AspectJ了,但是对于我自己的系统,有没有更好的解决方案,通过反射的方式织入AOP的思想呢?
请大侠们不吝赐教。
解决方案 »
- 关于不同ireport版本编译问题
- 正则表达式替换单词问题
- hibernate生成的abstraceModel和Model和ModelDAO,不想修改,在此条件下如何分层?
- 小弟请教各位大虾一个问题
- ssh框架结构中的疑问。新人。
- java如何将html转化成xml
- hql语句错误:outer or full join must be followed by path expression
- 如何在 SessionBean 中调用 EntityBean
- Struts2.3 Action类中含对象成员,该对象成员接受参数不需要setXX方法?
- 关于ognl中s:checkboxList的几个疑问??
- 求助?????有过达内培训经验人士请进!!
- tomcat webapps 最大能放大,
用spring当然要用spring容器创建,你也可以不用spring容器,那就自己代码实现一个。
IOC是spring核心思想哇。
能实现动态的加载吗?或者无须修改原系统的织入呢?
但是在我们自己的系统中,这样的接口似乎不那么容易实现。