Maison > base de données > tutoriel mysql > Problème avec l'interface de service Web de publication Spring+mybatis+axis2 sur myeclipse

Problème avec l'interface de service Web de publication Spring+mybatis+axis2 sur myeclipse

巴扎黑
Libérer: 2017-06-23 11:09:34
original
1104 Les gens l'ont consulté

Prémisse :

Soudain, un jour de ce mois-ci, il y a eu un projet qui devait utiliser l'interface publiée par axis2. Cela m'a dérouté. Après tout, je ne savais même pas comment publier l'interface du service Web. avant. Plus tard, la première interface - sayHi() a été publiée par HelloWorld ; jusqu'à présent, tout s'est bien passé. Ce n'est que lors de l'intégration avec axis2 qu'il y a eu un problème dans l'interface après la sortie de axis2. été nul, il semble que spring n'ait pas été initialisé. Pendant cette période, j'ai testé pour exécuter une requête selon le processus normal, et cela n'a pas fonctionné après l'intégration avec axis2. très douloureux. C'est très douloureux. J'ai essayé toutes les méthodes imaginables une à une, y compris l'acquisition forcée du mode dao et singleton, mais rien ne fonctionne. J'ai donc dû me contenter de la meilleure chose suivante, utiliser d'abord spring+mybatis+cxf pour publier une interface utilisable en tant que proxy, puis utiliser la boîte axis2 pour publier une méthode distincte pour appeler le proxy afin de réaliser l'amarrage du projet. Commençons par spring+mybatis+cxf :

1. Créez le répertoire du projet :

Tout d'abord, nous construisons une classe d'entité Person.java

package com.srit.user.model;public class Person {private String id;  private String name;  private int age;  private String birthday;  private double hight;  public String getId() {  return id;  
    }  public void setId(String id) {  this.id = id;  
    }  public String getName() {  return name;  
    }  public void setName(String name) {  this.name = name;  
    }  public int getAge() {  return age;  
    }  public void setAge(int age) {  this.age = age;  
    }  public String getBirthday() {  return birthday;  
    }  public void setBirthday(String birthday) {  this.birthday = birthday;  
    }  public double getHight() {  return hight;  
    }  public void setHight(double hight) {  this.hight = hight;  
    }  
}
Copier après la connexion

Ensuite, écrivons d'abord PersonDao.java en dao. C'est une interface qui effectue principalement des ajouts, des suppressions, des modifications et des requêtes simples

package com.srit.user.dao;import java.util.List;import javax.jws.WebMethod;import javax.jws.WebService;import com.srit.user.model.Person;public interface PersonDao {public void insertPerson(Person person);  public void updatePerson(Person person);  public List<Person> findPerson(String name);  public void deletePerson(String id);  
}
Copier après la connexion

Voici la classe d'implémentation de la couche dao PersonDaoImpl.java

 1 package com.srit.user.dao.impl; 2  3 import java.util.List; 4  5 import javax.annotation.Resource; 6  7 import org.mybatis.spring.SqlSessionTemplate; 8 import org.mybatis.spring.support.SqlSessionDaoSupport; 9 10 import com.srit.user.dao.PersonDao;11 import com.srit.user.model.Person;12 13 public class PersonDaoImpl extends SqlSessionDaoSupport implements PersonDao {14 15     private SqlSessionTemplate sqlSessionTemplate;  
16     17     public SqlSessionTemplate getSqlSessionTemplate() {  
18         return sqlSessionTemplate;  
19     }  
20   21     @Resource(name="sqlSessionTemplate")    
22     public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {  
23         this.sqlSessionTemplate = sqlSessionTemplate;  
24     }  
25   26     public void deletePerson(String id) {  
27         getSqlSession().delete("com.srit.usr.dao.PersonDao.deletePerson", id);  
28     }  
29   30     public List<Person> findPerson(String name) {  
31         return getSqlSession().selectList("com.srit.user.dao.PersonDao.findPerson", name);  
32     }  
33   34     public void insertPerson(Person person) {  
35         getSqlSession().insert("com.srit.user.dao.PersonDao.insertPerson", person);  
36     }  
37   38     public void updatePerson(Person person) {  
39         getSqlSession().update("com.srit.user.dao.PersonDao.updatePerson", person);  
40     }  
41   42 43 }
Copier après la connexion

suivie de la couche de service PersonService.java

package com.srit.user.service;import java.util.List;import com.srit.user.model.Person;public interface PersonService {public void insertPerson(Person person);  public void updatePerson(Person person);  public List<Person> findPerson(String name);  public void deletePerson(String id); 
}
Copier après la connexion

Ensuite, il y a la classe d'implémentation de la couche de service, PersonServiceImpl.java

package com.srit.user.service.impl;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import org.springframework.web.context.ContextLoader;import org.springframework.web.context.WebApplicationContext;import com.srit.user.dao.PersonDao;import com.srit.user.model.Person;import com.srit.user.service.PersonService;

@Service  
@Transactional  
public class PersonServiceImpl implements PersonService {  
      
    @Resource  private PersonDao personDao;  
      public PersonDao getPersonDao() {  return personDao;  
    }  public void setPersonDao(PersonDao personDao) {  this.personDao = personDao;  
//        WebApplicationContext context=ContextLoader.getCurrentWebApplicationContext();//        personDao =(PersonDao)context.getBean("personDao");    }  
  public void deletePerson(String id) {  
        personDao.deletePerson(id);  
    }  
  public List<Person> findPerson(String name) {  return personDao.findPerson(name);  
    }  
  public void insertPerson(Person person) {  
        personDao.insertPerson(person);  
    }  
  public void updatePerson(Person person) {  
        personDao.updatePerson(person);  
    }  
  
}
Copier après la connexion

Ensuite, il y a l'interface de service que nous souhaitons publier, MyWebservice .java

1 package com.srit.user.webservice;2 3 import com.srit.user.model.Person;4 5 public interface MyWebservice {6     public String czDate(Person person); 
7 }
Copier après la connexion

Bien sûr, il doit avoir sa classe d'implémentation MyWebserviceImpl.java

Après avoir quitté le travail. . . La prochaine fois j'écrirai

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal