Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Injecting dependencies to Restlet ServerResource using Spring IoC
- <bean name="restlet-user-server-resource"
- class="project.server.rest.UserServerResource"
- scope="prototype" />
- <bean name="restlet-api-server-application"
- class="org.restlet.Application">
- <property name="inboundRoot">
- <bean class="org.restlet.ext.spring.SpringRouter">
- <constructor-arg ref="restlet-api-server-application" />
- <property name="attachments">
- <map>
- <entry key="/user/{userId}"
- value-ref="restlet-user-server-resource" />
- </map>
- </property>
- </bean>
- </property>
- </bean>
- <bean name="user-dao,userDao"
- parent="dao-tx-template">
- <property name="target">
- <bean class="project.server.data.dao.UserDao"
- p:sessionFactory-ref="session-factory" />
- </property>
- </bean>
- package project.server.rest;
- import org.restlet.resource.ResourceException;
- import org.restlet.resource.ServerResource;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Configurable;
- import project.server.data.dao.UserDao;
- import project.server.data.entities.User;
- import project.server.rest.interfaces.UserResource;
- @Configurable
- public class UserServerResource
- extends ServerResource
- implements UserResource
- {
- private int userId;
- @Autowired
- private UserDao userDao;
- @Override
- public void doInit() throws ResourceException
- {
- String userIdString = (String)this.getRequestAttributes().get("userId");
- this.userId = Integer.parseInt(userIdString);
- }
- @Override
- public User represent()
- {
- System.out.println(this.userDao);
- User user = new User();
- user.setId(this.userId);
- user.setUserName("Something");
- user.setEmailAddress("[email protected]");
- return (user);
- }
- public void setUserDao(UserDao dao)
- {
- this.userDao = dao;
- }
- public UserDao getUserDao()
- {
- return (this.userDao);
- }
- }
- <bean name="restlet-user-server-resource"
- class="project.server.rest.UserServerResource"
- scope="prototype"
- p:userDao-ref="user-dao" />
- <bean name="restlet-api-server-application"
- class="org.restlet.Application">
- <property name="inboundRoot">
- <bean class="org.restlet.ext.spring.SpringRouter">
- <constructor-arg ref="restlet-api-server-application" />
- <property name="attachments">
- <map>
- <entry key="/user/{userId}">
- <bean class="org.restlet.ext.spring.SpringFinder">
- <lookup-method name="create" bean="restlet-user-server-resource" />
- </bean>
- </entry>
- </map>
- </property>
- </bean>
- </property>
- </bean>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement