Wicket and Tapestry中集成spring都很简单,无缝集成。
wicket:
在init()加一行代码:
Java代码
类似这样:
接下来就可以使用spring bean从page class中使用annotating @SpringBean调用:
1 public class AddMemberPage extends BasePage {
2 private static final Logger logger = LoggerFactory.getLogger(AddMemberPage.class);
3
4 private Member member;
5
6 private @SpringBean MemberService service;
7
8 public AddMemberPage() {
9 add(new AddMemberForm("addMemberForm", new CompoundPropertyModel( new Member() )));
10 }
11
12 public class AddMemberForm extends Form {
13 public AddMemberForm(String id, final CompoundPropertyModel model) {
14 super(id, model);
15
16 member = (Member)model.getObject();
17
18 add(new TextField("name"));
19
20 add(new Button("save"){
21 public void onSubmit(){
22 ("Member name: {}", member.getName());
23 service.add(member);
24 }
25 });
26 }
27 }
28 }
Tapestry 5
在Tapestry 5中,spring bean被看作tapestry 5的组件,无缝调用和通过tapestry 5 IoC注入。为了集成spring,你需要修改web.xml中一行:
1 <filter>
2 <filter-name>app</filter-name>
3 <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class>
4 </filter>
接下来就能注入spring bean进入page class通过简单的@Inject annotation:
6.Page unit testing
Wicket and Tapestry5的Page unit testing都不需要启动一个servlet容器。
wicket:
不需要锁定一个特殊测试框架,你可以使用JUnit或者TestNG都没问题,因为wicket提供helper class:
WicketTester来做page class的Unit testing:
1 public class TestHomePage extends TestCase
2 {
3 private WicketTester tester;
4
5 @Override
6 public void setUp()
7 {
8 tester = new WicketTester(new WicketApplication());
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27798-4.html
居然喪失了聯網能力
我去看了