如何使用struts2中提供的IOC
程序员文章站
2024-01-28 21:24:28
以前只知道spring有IOC机制,最近在看struts2的源码发现原来struts2也提供了这个机制,所以就写了个例子测试了下,没想到还真行。这里给出这个例子,至于原理,以后通过...
以前只知道spring有IOC机制,最近在看struts2的源码发现原来struts2也提供了这个机制,所以就写了个例子测试了下,没想到还真行。这里给出这个例子,至于原理,以后通过源码来分析。
新建一个Action包,在其下建立四个类:
package Action; public interface UserService { public void test(); }
package Action; public class Service1 implements UserService{ public void test() { // TODO Auto-generated method stub System.out.println("service1"); } }
package Action; public class Service2 implements UserService{ public void test() { // TODO Auto-generated method stub System.out.println("service2"); } }
下面的这个为一个action:
public class injectionAction extends ActionSupport { @Inject(value="service1") private UserService service1; public String execute() throws Exception { service1.test(); UserService service2=ActionContext.getContext().getContainer(). getInstance(UserService.class, "service2"); service2.test(); return SUCCESS; } }
注意
@Inject(value="service1")
这就是告诉struts2这个属性需要注入,这会在struts2容器中寻找type为UserService,name为service1的对象工厂,通过工厂产生这个对象。
在struts2.xml中配置:
/index1.jsp
结果:
service1
service2
上一篇: bzoj2179 FFT快速傅立叶
下一篇: jsp页面防止刷新重复提交解决方案
推荐阅读
-
如何使用struts2中提供的IOC
-
在php中使用swoole扩展时,server端的回调函数中如何使用thinkphp框架的方法?
-
Excel2013中如何使用迭代计算得到满足精度要求的近似解
-
如何使用jquery中的ready事件?ready事件实例用法
-
如何使用RoughViz可视化Vue.js中的草绘图表
-
python中如何django使用haystack:全文检索的框架的实例讲解
-
在angularjs中如何使用$stateProvider的路由进行传参数
-
Spring整合Struts2中拦截链与注解的使用
-
scanf字符串 如何使用PHP中的字符串函数
-
如何使用Javascript往Div中插入图片的实例分析