これは、データベースにアクセスするためにspringデータpostgresqlを使用するスプリング・ブート・アプリケーションを作成しました。このアプリケーションをテストするとうまく動作します。しかし、私は春を使わない他のプロジェクトでこのアプリケーションを使いたいです。 私は2つのJavaアプリケーションを含む大きなプロジェクトを持っています。私はこのプロジェクトを(モジュールを介して)統合するためにmavenを使用しています。JavaアプリケーションでSpringブート・クラスを呼び出す
<dependency>
<groupId>databases</groupId>
<artifactId>databases</artifactId>
<version>${version}</version>
</dependency>
私は、プロジェクトの春ブーツの中に作成したクラスを使用しようとすると、私はこれは@Autowiredとするとき、私が使用している問題を持っている:私はこの方法でJava aplicationで依存関係を追加しましたプロジェクトjavaを実行すると、挿入された内部クラスがnullであるため、NULLポインタエラーが表示されます。
これは、Javaプロジェクト(春ブーツを使用していない)ライン「コレクションタグ= TagService.findAll(で
public class MainController implements Initializable {
private TagServiceBean tagService = new TagServiceBean();
@Override
public void initialize(URL location, ResourceBundle resources) {
Collection<Tag> tags = tagService.findAll();
for (Tag tag : tags){
selectedTags.getItems().add(tag.getF_tagname());
}
}
}
)で作成したクラスであり、私は次のエラーがあります。
をat javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at org.tenergia.historicosFX.Main.start(Main.java:15)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at org.tenergiaEditor.databases.service.spring.TagServiceBean.findAll(TagServiceBean.java:21)
at org.tenergia.historicosFX.controller.MainController.initialize(MainController.ja va:134)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
... 17 more
もっとコードを投稿できますか?あなたのブートアプリケーションは "データベース"と呼ばれていますか? '@ Autowired'が動作するためには、パッケージのコンポーネントスキャンを実行して、Beanを作成する必要があります。あなたはそれをやっていますか? –
私はこの問題があなたのSpring Boot設定にあると推測しています。 https://spring.io/guides/gs/relational-data-access/ – duffymo
はい「databases」は私のspringbootアプリケーションです。データベースのメインクラスでコンポーネントをスキャンしています。問題は、Javaアプリケーションでは、私は春のブートアプリケーションで作成されたサービスを使用したい、私はそれを使用することはできませんです。 –