关于Tapestry5 初始化Module说明

Tapestry5的系统初始化是由Module实现的,与servlet不同

传统的web应用,要配置系统启动时初始化任务,一般是在web.xml中配置相应的servlet,由系统启动时加载

Tapestry5在系统启动时,加载Module类来实现初始化,Module类名必须与web.xml文件中配置的应用名相同,如web.xml配置:

xml 代码
  1.       PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"   
  2.       "http://java.sun.com/dtd/web-app_2_3.dtd">  
  3.       <web-app>  
  4.           <display-name>lichen forum  Applicationdisplay-name>  
  5.           <context-param>  
  6.               <param-name>tapestry.app-packageparam-name>  
  7.               <param-value>org.exampleparam-value>  
  8.           context-param>  
  9.           <filter>  
  10.               <filter-name>happyfilter-name>  
  11.               <filter-class>org.apache.tapestry.TapestryFilterfilter-class>  
  12.           filter>  
  13.           <filter-mapping>  
  14.               <filter-name>happyfilter-name>  
  15.               <url-pattern>/*url-pattern>  
  16.           filter-mapping>  
  17. web-app>  
其中红色的happy即为应用名, Module类名必须写成HappyModule,并且需要放在services包下,如:
org.example.services
Happy Module类在系统启动时加载,并且实例化,Tapestry5通过IoC来实现注册服务,每个服务由一个接口与实现类,如有Uservice接口,UserviceImpl实现类
在Happy Module中注册如下:
java 代码
  1. public static void bind(ServiceBinder binder) {   
  2.     binder.bind(UserService.class, UserServiceImpl.class);   
  3. }  

当有多个服务时,可在bind方法中增加类似以上一行代码即可,当然Tapestry5还有其他注册服务的方法,在此不做描述

 

需要使用Tapestry5中注册的服务时有几点需要注意:

1、服务必须注入,使用@Inject

2、修饰符必须为private

3、get方法修饰符必须为protected

如:

java 代码
  1. @Inject  
  2. private UserService _userService;   
  3.   
  4. protected UserService getUserService() {   
  5.     return _userService;   
  6. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值