Dear Wiki user, You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for change notification.
The following page has been changed by DavorHrg: http://wiki.apache.org/tapestry/Tapestry5HowToIocOnly New page: Here is a simple example on how to use only tapestry-ioc in your app.[[BR]] Using IOC has many advantages, so why not get used to it even in the smallest apps. if you are comfortable with maven: pom.xml {{{ <?xml version="1.0" encoding="UTF-8"?> <project> <modelVersion>4.0.0</modelVersion> <groupId>tapestry.mini-app</groupId> <artifactId>mini-app</artifactId> <version>0.0.1</version> <build> <finalName>mini-app</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> <optimize>true</optimize> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.apache.tapestry</groupId> <artifactId>tapestry-ioc</artifactId> <version>${tapestry-release-version}</version> </dependency> </dependencies> <properties> <tapestry-release-version>5.0.6</tapestry-release-version> </properties> </project> }}} or add these libraries to your path {{{ javassist-3.4.ga.jar log4j-1.2.14.jar tapestry-ioc-5.0.5.jar slf4j-api-1.4.3.jar slf4j-log4j12-1.4.3.jar }}} Your main class is fairly simple(Main.java) {{{#!java package tapestry.mini; import org.apache.tapestry.ioc.Registry; import org.apache.tapestry.ioc.RegistryBuilder; import tapestry.mini.services.Hello; import tapestry.mini.services.MiniAppModule; public class Main { public static void main(String[] args) { RegistryBuilder builder = new RegistryBuilder(); builder.add(MiniAppModule.class); Registry registry = builder.build(); registry.performRegistryStartup(); Hello hello = registry.getService(Hello.class); hello.sayHello(); } } }}} !MiniAppModule.java: {{{#!java package tapestry.mini.services; import org.apache.tapestry.ioc.ServiceBinder; public class MiniAppModule { public static void bind(ServiceBinder binder){ binder.bind(Hello.class); binder.bind(Output.class, OutputImpl.class); } } }}} A small class that also shows automatic dependency injection: Hello.java {{{#!java package tapestry.mini.services; public class Hello { private final Output _output; public Hello(Output output) { _output = output; } public void sayHello(){ _output.say("Hello world"); } } }}} a very simple dependancy: Output.java {{{#!java package tapestry.mini.services; public interface Output { public void say(String text); } }}} A simple implementation of course: !OutputImpl.java {{{#!java package tapestry.mini.services; public class OutputImpl implements Output{ public void say(String text){ System.out.println(text); } } }}} --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
