Comment appeler une méthode de classe Java à partir de la couche de service Spring Boot
J'ai mon application de démarrage Spring à partir de laquelle j'essaie d'appeler une méthode à partir d'une classe java dans un module différent en dehors de mon application. J'ai la dépendance ajoutée à mon projet pom pour ce module externe. Le module externe n'est pas une application de démarrage Spring. J'ai mon code comme ci-dessous
@Service
public class MyServiceImpl {
private MyInterface myInterface;
public Response callMethod1() {
Response response = new Response();
response = myInterface.callMethod1();
return response;
}
}
L'interface MyInterface et son implémentation font partie du module externe. Le code est quelque chose comme ça.
public interface MyInterface {
Response callMethod1();
}
La mise en oeuvre:
public class InterfaceImpl implements MyInterface {
Response callMethod1() {
Response response = doSomething();
return response;
}
}
Lorsque j'appelle la méthode de service, je la vois échouer avec InvocationTargetException. J'ai essayé le débogueur dans eclipse et je ne verrai pas les points d'arrêt dans l'implémentation être touchés. J'ai essayé en déplaçant le code d'Interface et d'implémentation dans mon projet avec quelques modifications pour voir si je peux le faire fonctionner. Voici mes changements.
Classe de service:
@Service
public class MyServiceImpl {
@Autowired
private MyInterface myInterface;
public Response callMethod1() {
Response response = new Response();
response = myInterface.callMethod1();
return response;
}
}
Interface:
public interface MyInterface {
Response callMethod1();
}
La mise en oeuvre:
@Service
public class InterfaceImpl implements MyInterface {
Response callMethod1() {
Response response = doSomething();
return response;
}
}
Comment puis-je appeler les méthodes de la classe java sans changer l'implémentation et la garder dans son module d'origine.
Merci.
@Configuration
public class Config {
@Bean
public Foo createFoo() {
Foo foo = new Foo(); // this is POJO
return foo; // after return it will be saved in Spring Context and become a Bean
}
}