JavaFX アプリケーションから RESTFul サービスを利用するためのアーキテクチャに取り組もうとしています。要件は、春の残りのテンプレートを使用することです (これについてはあまり強要しません。春が機能しない場合は、おそらく jersey または resteasy を見ることができます。
私のセットアップは次のとおりです。
私のメイン クラスには、RESTFul サービスからの値を一覧表示するドロップダウンがあります。
RESTFul サービスにアクセスするためのアーキテクチャは次のとおりです。
残りのサービスにヒットするサービス クラスのインスタンスを提供するクライアント クラスがあります。
サービス クラスには、RESTFul サービスでヒットするさまざまなメソッドがあります。
public MyService1() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( MyConfig.class); context.registerShutdownHook(); } @Autowired private RestOperations restTemplate; private final Logger LOG = LoggerFactory.getLogger(MyService1.class); public List<MyObject> getMyObjects() throws IOException { HttpEntity<MultiValueMap<String, HttpEntity<?>>> request = new HttpEntity<MultiValueMap<String, HttpEntity<?>>>( createParts(), createMultiPartHeaders()); Map<String, String> vars = new HashMap<String, String>(); List<MyObject> myObjects = restTemplate.getForObject( "http://localhost:8080/my-webservices/objects", List.class, vars); return myObjects; }
上記のセットアップでは、例外が発生します。
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:403)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:581)