Prasath로 :
나는 자바 스윙을 사용하여 개발되어 내 데스크톱 응용 프로그램에 대한 봄 부팅을 사용할 수 있습니까? 미세인가 아니면하지 않는 것이 좋습니다? 나는 스윙 응용 프로그램에서 봄 부팅 이점을 얻을 수 있거나 성능이 저하됩니다?
tmarwen :
공식에 의해 언급 한 바와 같이 봄 부트 문서 :
봄 부팅은 쉽게 당신이 "바로 실행"할 수있는 독립형, 생산 수준의 스프링 기반 응용 프로그램을 만들 수 있습니다.
없다는 아무것도 없다 봄 부트 는 주위에 많은 기능 제공으로 전용 웹 응용 프로그램 개발을위한 것입니다 스프링 프레임 워크 등의 핵심 컨테이너로 자체 웹 응용 프로그램에 해당되지 아니하는 스프링 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);
}
}
당신은 고전적인 방법 사이의 두 가지 차이점에 유의 할 수 있습니다 봄 부팅 응용 프로그램이 실행됩니다 :
- 기본 응용 프로그램 클래스가 구현하는
CommandLineRunner
사용자 인터페이스를 시작하는이 시간 : 순서는 응용 프로그램의 런타임 동작을 수정할 수 있습니다. - 의 초기화 봄 부팅 응용 프로그램을 통해 이루어집니다
SpringApplicationBuilder
비활성화 할 수 있도록하기 위해 헤드리스 서버 기반의 응용 프로그램 내에서 사용을위한 것입니다 기능을.
성능에 관해서는 봄 부팅 데스크톱 응용 프로그램은 여전히 JVM이 응용 프로그램을 배포하고 당신이 직접 소개하는 것를 제외한 응용 프로그램에 의해 발생됩니다 (최소한의 시작 제외한)에는 성능 오버 헤드가 없을 것입니다.