I"/<p>This example shows you how to configure Wicket to run without any XML definitions.
It requires to use the Servlet 3.x API and a container which is able to load the
web component definitions via annotations defined within this standard.</p>

<h2 id="creating-the-web-components">Creating the web components</h2>

<h3 id="myfilterjava">MyFilter.java</h3>

<p>First you have to configure the filter which was done within the web.xml in previous versions
of the Servlet specification. All initialization parameters are configured also via annotations.
The Application class is defined in the init param with the name applicationClassName.</p>

<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">javax.servlet.annotation.WebFilter</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">javax.servlet.annotation.WebInitParam</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.protocol.http.WicketFilter</span><span class="o">;</span>

<span class="nd">@WebFilter</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/*"</span><span class="o">,</span> <span class="n">initParams</span> <span class="o">=</span> <span class="o">{</span>
		<span class="nd">@WebInitParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"applicationClassName"</span><span class="o">,</span>
		<span class="n">value</span> <span class="o">=</span> <span class="s">"com.my.package.MyApplication"</span><span class="o">),</span>
		<span class="nd">@WebInitParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"configuration"</span><span class="o">,</span> <span class="n">value</span> <span class="o">=</span> <span class="s">"development"</span><span class="o">)</span> <span class="o">})</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyFilter</span> <span class="kd">extends</span> <span class="nc">WicketFilter</span> <span class="o">{}</span></code></pre></figure>

<h3 id="mycontextloaderlistenerjava">MyContextLoaderListener.java</h3>

<p>Another important class is the ContextLoaderListener which in our case is going to initialize
the Spring Framework’s context and effects a package scan for Spring components. Usually
those Spring components are initialized with specific annotations like @Component or @Service for
example. You have to place them into the scanned package or in sub packages. (com.my.package in this case)</p>

<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">javax.servlet.annotation.WebListener</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.web.context.ContextLoaderListener</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.web.context.WebApplicationContext</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.web.context.support.AnnotationConfigWebApplicationContext</span><span class="o">;</span>

<span class="nd">@WebListener</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyContextLoaderListener</span> <span class="kd">extends</span> <span class="nc">ContextLoaderListener</span> <span class="o">{</span>

  <span class="kd">public</span> <span class="nf">MyContextLoaderListener</span><span class="o">()</span> <span class="o">{</span>
    <span class="kd">super</span><span class="o">(</span><span class="n">getWebApplicationContext</span><span class="o">());</span>
  <span class="o">}</span>

  <span class="kd">private</span> <span class="kd">static</span> <span class="nc">WebApplicationContext</span> <span class="nf">getWebApplicationContext</span><span class="o">()</span> <span class="o">{</span>
    <span class="nc">AnnotationConfigWebApplicationContext</span> <span class="n">context</span>
    	<span class="o">=</span> <span class="k">new</span> <span class="nc">AnnotationConfigWebApplicationContext</span><span class="o">();</span>
    <span class="n">context</span><span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"com.my.package"</span><span class="o">);</span>
    <span class="n">context</span><span class="o">.</span><span class="na">refresh</span><span class="o">();</span>
    <span class="k">return</span> <span class="n">context</span><span class="o">;</span>
  <span class="o">}</span>
<span class="o">}</span></code></pre></figure>

<h3 id="myrequestcontextlistenerjava">MyRequestContextListener.java</h3>

<p>To configure Spring Framework to recognize the request context a RequestContextListener needs to be
defined. This listener enables the web project to use beans with a scope. So if you want a bean
to remain in the session as long as the user is surfing on your web page you can do this by adding the
annotation @SessionScope together with @Component.</p>

<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">javax.servlet.annotation.WebListener</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.web.context.request.RequestContextListener</span><span class="o">;</span>

<span class="nd">@WebListener</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyRequestContextListener</span> <span class="kd">extends</span> <span class="nc">RequestContextListener</span><span class="o">{}</span></code></pre></figure>

<h3 id="mysessionbeanjava">MySessionBean.java</h3>

<p>This is a small example of a session scoped bean within the “com.my.package” package. It can be 
autowired by using the @SpringBean annotation in any wicket component like a WebPage or a Panel.</p>

<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">javax.annotation.PostConstruct</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">javax.servlet.http.HttpSession</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.beans.factory.annotation.Autowired</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.stereotype.Component</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.web.context.annotation.SessionScope</span><span class="o">;</span>

<span class="nd">@Component</span>
<span class="nd">@SessionScope</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MySessionBean</span> <span class="o">{</span>
	
  <span class="nd">@Autowired</span>
  <span class="kd">private</span> <span class="nc">HttpSession</span> <span class="n">httpSession</span><span class="o">;</span>

  <span class="nd">@PostConstruct</span>
  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">postConstruct</span><span class="o">()</span> <span class="o">{</span>
    <span class="c1">// do something after the bean has been constructed</span>
  <span class="o">}</span>

  <span class="kd">public</span> <span class="nc">HttpSession</span> <span class="nf">getHttpSession</span><span class="o">()</span> <span class="o">{</span>
    <span class="k">return</span> <span class="n">httpSession</span><span class="o">;</span>
  <span class="o">}</span>
<span class="o">}</span></code></pre></figure>

<p>Here you can see the autowiring in the component class:</p>

<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">com.my.package.MySessionBean</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.spring.injection.annot.SpringBean</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.WebPage</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloWorld</span> <span class="kd">extends</span> <span class="nc">WebPage</span> <span class="o">{</span>

  <span class="nd">@SpringBean</span>
  <span class="kd">private</span> <span class="nc">MySessionBean</span> <span class="n">mySessionBean</span><span class="o">;</span>

  <span class="kd">public</span> <span class="nf">HomePage</span><span class="o">()</span> <span class="o">{</span>
    <span class="c1">// do something</span>
  <span class="o">}</span>
<span class="o">}</span></code></pre></figure>

<h2 id="creating-the-web-application-class">Creating the web application class</h2>

<p>Within our application class it is required to hand over the Spring’s application context to the 
SpringComponentInjector so that beans are also injected into Wicket components. If you are interested in how to 
implement the home page and the corresponding HTML markup have a look at the corresponding 
example: <a href="helloworld.html">Hello World!</a></p>

<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">import</span> <span class="nn">org.apache.wicket.Page</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.protocol.http.WebApplication</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.spring.injection.annot.SpringComponentInjector</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.springframework.web.context.support.WebApplicationContextUtils</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">com.my.package.HelloWorld</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyApplication</span> <span class="kd">extends</span> <span class="nc">WebApplication</span> <span class="o">{</span>

  <span class="nd">@Override</span>
  <span class="kd">public</span> <span class="nc">Class</span><span class="o">&lt;?</span> <span class="kd">extends</span> <span class="nc">Page</span><span class="o">&gt;</span> <span class="nf">getHomePage</span><span class="o">()</span> <span class="o">{</span>
    <span class="k">return</span> <span class="nc">HelloWorld</span><span class="o">.</span><span class="na">class</span><span class="o">;</span>
  <span class="o">}</span>

  <span class="nd">@Override</span>
  <span class="kd">protected</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="o">{</span>
    <span class="kd">super</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
    <span class="n">getComponentInstantiationListeners</span><span class="o">().</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">SpringComponentInjector</span><span class="o">(</span><span class="k">this</span><span class="o">,</span>
      <span class="nc">WebApplicationContextUtils</span><span class="o">.</span><span class="na">getRequiredWebApplicationContext</span><span class="o">(</span>
        <span class="n">getServletContext</span><span class="o">())));</span>
  <span class="o">}</span>
<span class="o">}</span></code></pre></figure>

<h2 id="summary">Summary</h2>

<p>Since Servlet 3.x and the corresponding changes within the Spring Framework to configure web applications
without any XML definitions it is easily possible to increase the maintainability, because every configuration
is covered by the java compiler. Also you don’t have to switch between various different initialization representations.
Required artifacts are: spring-web (required: &gt;4.0), wicket-spring (recommend: &gt;7.6.0), wicket-core (recommend: &gt;7.6.0),
javax.servlet-api (required: &gt;3.x)</p>
:ET