. , Spring autowire beans @WebService ( , ).
:
org.springframework.beans.factory.config.AutowireCapableBeanFactory.class @Autowired beans (, @Service, @Repository ..).
:
@Resource WebServiceContext
@Resource
private WebServiceContext context;
bean
MyDAO myDAO = null;
ServletContext servletContext = (ServletContext) context
.getMessageContext().get("javax.xml.ws.servlet.context");
WebApplicationContext webApplicationContext = WebApplicationContextUtils
.getRequiredWebApplicationContext(servletContext);
myDAO = (MyDAO) webApplicationContext
.getAutowireCapableBeanFactory().getBean("myDAO");
MyDAO :
@Service
@Qualifier("myDAO")
@Transactional
public class MyDAO {
private HibernateTemplate hibernateTemplate;
@Required
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}
public MyInfo getMyInfo(Long id){
return this.hibernateTemplate.get(MyInfo.class, id);
}
}
MyDAO @WebMethod.