Prasath:
私は、JavaのSwingを使用して開発された私のデスクトップアプリケーションのための春のブートを使用することはできますか?その罰金であるか、またはそれは賢明ではないでしょうか?私は、Swingアプリケーションで春のブートの利点を得ることができるか、それはパフォーマンスが低下しますか?
tmarwen:
公式で述べたように春ブーツドキュメント:
春ブーツは、それが簡単にあなたが「単に実行する」ことができ、スタンドアローン、生産グレードの春ベースのアプリケーションを作成することができます。
述べて何もありません春ブーツが、それは周りの多くの機能提供していますとしてのみのWebアプリケーション開発のために意味される春のフレームワーク自体と、そのようなコアコンテナ、などのWebアプリケーションに関連していない春AOP、春JPAは ...
ここではサンプル実装ダウン春ブーツ注釈付きのアプリケーションは単純に実行スイングフレームを:
@SpringBootApplication
public class SpringDesktopSampleApplication implements CommandLineRunner {
public static void main(String[] args) {
new SpringApplicationBuilder(SpringDesktopSampleApplication.class).headless(false).run(args);
}
@Override
public void run(String... args) {
JFrame frame = new JFrame("Spring Boot Swing App");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
JPanel panel = new JPanel(new BorderLayout());
JTextField text = new JTextField("Spring Boot can be used with Swing apps");
panel.add(text, BorderLayout.CENTER);
frame.setContentPane(panel);
frame.setVisible(true);
}
}
あなたは、古典的な方法で2つの違いに注意して春ブートアプリケーションが実行されました:
- メインアプリケーションクラスが実装
CommandLineRunner
アプリケーションの実行時の動作を変更することができるようにするために:今回のユーザインタフェースを起動します。 - 初期春ブートアプリケーションを介して行われます
SpringApplicationBuilder
無効にすることができるようにするために、ヘッドレスサーバーベースのアプリケーション内での使用のために意味される機能を。
パフォーマンスに関しては、春ブーツのデスクトップアプリケーションが残っているJVMは、アプリケーションを展開し、自分で導入するものを除いアプリケーションで発生することになる(最小限のスタートアップのものを除く)は、パフォーマンスのオーバーヘッドはありません。