WebRenderExt在spring框架实现了接口,如何在WebRenderExt内部注入bean
我实现了WebRenderExt
用的spring继承了beetl,请问下,如果在WebRenderExt里注入beanService
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我实现了WebRenderExt
用的spring继承了beetl,请问下,如果在WebRenderExt里注入beanService
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
如果你用了Spring,就没有必要用Class.forName()来实例化Bean,即使你的Bean没有在应用程序上下文定义,Spring仍然可以够着Bean实例并进行依赖注入。
AutowireCapableBeanFactory接口定义了createBean()方法可以给定任意的Class生成Bean实例(并按照注解配置或autowireMode对他进行自动的依赖注入)。而AutowireCapableBeanFactory可以通过ApplicationContext的getAutowireCapableBeanFactory() 方法得到。
http://docs.spring.io/spring/docs/4.2.6.RELEASE/javadoc-api/org/springframework/beans/factory/config/AutowireCapableBeanFactory.html
不懂什么叫Beetl的Bean?
谢谢您的解答,感谢!
您在看下我上面追加的,这样方式获取也获取不了beetl的bean 但是其他的bean可以!
还是那句话,可以再filter里做,然后结果放到reqeust里
如果非得在GlobalExt使用,那你的GlobalExt实现得能引用ApplicationContext
然后通过它获取service,你可以在某个spring管理的bean里设置一个静态变量来保存ApplicationContext,类似这种代码
http://www.cnblogs.com/wcyBlog/p/4657885.html
我现在想,在GlobalExt里调用service查询,这需要怎么做呢?
WebRenderExt 是通过Class.forName 加载的,注入不了
大部分功能都可以在spring filter 里来通过request.setAttribute 来为模板添加公共属性,没有必要等到渲染的时候靠beetl来做