spring IoC和JFinal的集成
我按照文档配置SpringPlugin,但是我在一些Interceptor和Listener上配置@Before(IocInterceptor.class)后没有自动注入。把IocInterceptor配置成全局的也是一样。
applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config/> </beans>
@Before(IocInterceptor.class) public class AccessLogInterceptor implements Interceptor { @Inject.BY_NAME private SessionService sessionService; @Override public void intercept(ActionInvocation ai) { ... sessionService.updateSession(session, url); ai.invoke(); } }
谁知道有没有不用SpringPlugin,直接用Spring的方法?
尝试了配置org.springframework.web.context.ContextLoaderListener没有成功。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
写的不错,继续加油!这里补充一下,http://www.marsitman.com/spring/spring_ioc.html
我现在的处理办法:
1)定义一个标记接口
然后顶一个一个所有Service的管理类,兼顾通用和公共模块:
我写的小网站,业余爱好而已。
我一般推荐稍微大一些的项目用SpringSide,
而小网站应用使用JFinal。
其实两个都不错。SpringSide的Size很大。
我昨晚看了一下JFinal的源代码,模仿你的写法在我的service类里面添加了me()方法实现单例模式,IoC就放弃了。
回复
其实业务层不必须做成单例模式,如果你的业务层是无状态的可以在Controller 中来个 static Service service = new Service(),然后在actoin中可以共享使用这个业务对象。如果是有状态的,可以在每个action 中 new Service().doSomeThing()来用