반응형 JAVA19 Java Swing + NetBeans GUI Builder + MVVM 패턴 실전 개발 (샘플 코드 포함) Java 데스크탑 프로그램을 만들 때 아직도 Java Swing은 많은 기업 내부 시스템에서 사용됩니다. 특히 ERP, 사내 관리툴, POS 같은 시스템에서 안정적으로 사용되고 있습니다.이번 글에서는 다음 개발환경으로 MVVM 구조를 적용한 Swing 프로그램을 만들어 보겠습니다.개발 환경Java 17NetBeans (GUI Builder)SwingMVVM 패턴완성 프로그램회원 관리 프로그램------------------------[ 이름 입력 ][ 이메일 입력 ][ 등록 ]회원 목록------------------------홍길동 / test@test.com김철수 / hello@test.com1. 왜 Swing에 MVVM을 사용할까?Swing 프로젝트는 보통 이렇게 작성됩니다.Vie.. JAVA 2026. 3. 16. Java Swing + Spring Boot 데스크탑 앱을 Docker 이미지로 만들고, GitHub Actions로 자동 빌드 & 배포하는 실전 자동화 구조 이번에는 Java Swing + Spring Boot 데스크탑 앱을 Docker 이미지로 만들고, GitHub Actions로 자동 빌드 & 배포하는 실전 자동화 구조를 정리해드립니다.목표✔ Gradle 빌드✔ Docker 이미지 생성✔ Docker Hub 자동 업로드✔ GitHub Push만 하면 자동 배포🏗 전체 아키텍처개발 → GitHub Push ↓GitHub Actions ↓Gradle Build ↓Docker Image Build ↓Docker Hub Push ↓(서버에서 자동 Pull & 실행)1️⃣ Dockerfile 작성루트 경로에 Dockerfile 생성# 1단계: 빌드FROM gradle:8.5-jdk17 AS build.. JAVA 2026. 3. 9. Java Swing + Spring Boot + Gradle로 만드는 윈도우즈 데스크톱 애플리케이션 좋습니다.“Java Swing + Spring Boot + Gradle로 윈도우즈 ERP급 데스크탑 앱 만들기”실무에 바로 써먹을 수 있는 구조로, 블로그 인기글 스타일로 정리해보겠습니다.🚀 Java Swing + Spring Boot + Gradle윈도우즈 실전 데스크탑 애플리케이션 만들기 (ERP 구조 샘플 포함)✔ Spring의 DI✔ Swing의 빠른 데스크탑 UI✔ Gradle 기반 빌드 자동화✔ 실제 실무에서 쓰는 구조 설계📌 왜 Swing + Spring Boot 조합인가?대부분 Spring Boot는 웹 서버용으로 사용됩니다.하지만 DI, 트랜잭션, JPA, 보안 구조는 데스크탑에서도 강력합니다.이 조합의 장점Spring DI로 테스트 가능한 구조JPA로 DB 연결 간편화Layered .. JAVA 2026. 3. 6. JavaFX Thread + Task를 활용한 API 호출 애플리케이션 JavaFX Thread + Task를 활용한 API 호출 애플리케이션JavaFX 애플리케이션은 UI 업데이트가 단일 쓰레드(즉, JavaFX Application Thread)에서 이루어져야 하는 제약이 있습니다. 이로 인해 외부 API 호출이나 긴 작업은 별도의 백그라운드 쓰레드에서 처리한 후, UI를 갱신해야 합니다. 이를 위해 JavaFX는 Task 클래스를 제공하며, 이를 활용하면 백그라운드 작업과 UI 갱신을 안전하게 수행할 수 있습니다.이 블로그에서는 JavaFX의 Thread와 Task를 사용하여 API 호출 애플리케이션을 만드는 방법을 샘플 코드와 함께 자세히 설명하겠습니다.주요 개념Task란?Task는 JavaFX에서 백그라운드 작업을 수행하기 위한 기본 클래스입니다. Task는 Run.. JAVA 2024. 12. 31. JavaFX를 이용한 ProgressBar와 ProgressIndicator를 활용한 데이터 입력 화면 작성 JavaFX를 이용한 ProgressBar와 ProgressIndicator를 활용한 데이터 입력 화면 작성JavaFX를 이용하면 직관적이고 모던한 GUI를 만들 수 있습니다. 이번 포스팅에서는 ProgressBar, ProgressIndicator, Thread, 그리고 Task를 활용하여 데이터 입력 작업을 시각적으로 표시하는 화면을 작성하는 방법을 단계별로 소개하겠습니다.1. 프로젝트 설정JavaFX 프로젝트를 생성하고 필요한 라이브러리를 설정합니다. Maven 또는 Gradle을 사용하는 경우 JavaFX SDK를 의존성으로 추가합니다.Maven 예제: org.openjfx javafx-controls 21.0.0 2. UI 설계VBox를 사용하여.. JAVA 2024. 12. 29. JavaFX 프레임워크 최적화 팁 JavaFX는 강력한 GUI 애플리케이션을 개발할 수 있는 프레임워크입니다. 그러나 성능 문제가 발생할 수 있으므로 최적화를 통해 사용자 경험을 개선할 수 있습니다. 이 글에서는 JavaFX 애플리케이션을 최적화하기 위한 주요 팁과 샘플 코드를 제공합니다.1. 레이아웃 최적화JavaFX 레이아웃은 강력하지만 복잡한 계층 구조는 성능 저하를 유발할 수 있습니다. 다음과 같은 방법으로 최적화할 수 있습니다:1.1 불필요한 노드 제거레이아웃 내에서 불필요한 노드를 제거하면 렌더링 비용을 줄일 수 있습니다.VBox vbox = new VBox();for (int i = 0; i ((Label) node).getText().contains("50"));1.2 레이아웃 바인딩 최소화빈번한 레이아웃 변경이 필요한 .. JAVA 2024. 12. 25. Java Spring Framework 최적화 팁 Java Spring 프레임워크는 널리 사용되는 애플리케이션 프레임워크로, 성능과 유지보수성을 향상시키기 위한 다양한 최적화 방법이 존재합니다. 이 글에서는 주요 최적화 팁과 함께 샘플 코드를 제공하여 보다 효율적인 Spring 애플리케이션을 개발할 수 있도록 돕겠습니다.1. @Configuration과 @Bean 사용@Configuration 클래스와 @Bean 어노테이션을 사용하면 스프링 컨테이너에서 빈을 효율적으로 관리할 수 있습니다. 이를 통해 불필요한 빈 생성을 방지하고 애플리케이션의 메모리 사용을 최적화할 수 있습니다.샘플 코드:@Configurationpublic class AppConfig { @Bean public MyService myService() { retu.. JAVA 2024. 12. 23. Eclipse와 Java Spring을 활용한 간단한 요금 계산 시스템 구현 소개이번 포스팅에서는 Eclipse와 Java Spring 프레임워크를 이용하여 간단한 요금 계산 시스템을 만들어 보겠습니다. 이 시스템은 상품 및 서비스 요금을 계산하고, 최종 결제 금액을 사용자 화면에 표시하는 기능을 포함합니다.주요 기능상품 및 서비스 리스트 표시선택된 상품의 개수 및 가격 계산부가세(VAT)와 총 금액 계산프로젝트 설정1. Eclipse 설치 및 Spring Boot 초기화Eclipse IDE를 다운로드하고 설치합니다.Spring Initializr를 이용하여 기본 프로젝트를 생성합니다.Dependencies: Spring Web, Thymeleaf, Lombok생성한 프로젝트를 Eclipse에 Import합니다.코드 구현1. 프로젝트 구조src/main/java├── com.ex.. JAVA 2024. 12. 21. Eclipse + JavaFX: 간단한 요금 입력 시스템 만들기 이 블로그에서는 Eclipse와 JavaFX를 이용해 간단한 요금 입력 시스템을 구현하는 방법을 소개합니다. 이를 통해 JavaFX UI 구성과 이벤트 처리를 배우고, 프로젝트를 설정하는 방법을 익힐 수 있습니다.1. 준비물Eclipse IDE (2023-xx 버전 추천)JDK 17 이상JavaFX SDK (https://openjfx.io/ 에서 다운로드)2. 프로젝트 설정Eclipse에서 새로운 Java 프로젝트를 생성합니다.프로젝트 이름: BillingSystemJavaFX SDK를 프로젝트에 추가합니다.프로젝트 속성(Project Properties) > Java Build Path > Libraries > Modulepath > Add External JARsJavaFX SDK 폴더의 lib 디.. JAVA 2024. 12. 19. Java와 Oracle 데이터베이스 조회 쿼리 성능 최적화: setFetchSize 사용법 데이터베이스 조회 쿼리의 성능을 최적화하는 것은 애플리케이션의 효율성을 높이는 중요한 작업입니다. Java와 Oracle 데이터베이스를 사용할 때, setFetchSize 메서드를 활용하면 쿼리 성능을 크게 개선할 수 있습니다. 이 블로그에서는 setFetchSize의 개념과 사용법을 샘플 코드를 포함하여 자세히 설명하겠습니다.1. setFetchSize란?setFetchSize는 JDBC에서 한 번에 가져올 행(row)의 수를 설정하는 메서드입니다. 기본적으로 JDBC는 한 번에 모든 결과를 가져오지만, setFetchSize를 사용하면 필요한 만큼의 데이터만 가져와 메모리 사용량을 줄이고 네트워크 부하를 줄일 수 있습니다.2. setFetchSize의 장점메모리 사용량 감소: 한 번에 많은 데이터를 .. JAVA 2024. 11. 18. Java와 Oracle 데이터베이스 조회 쿼리 성능 최적화 방법 Oracle 데이터베이스에서 조회 쿼리 성능을 최적화하는 것은 자원 효율성을 높이고 응답 시간을 줄이는 데 중요한 역할을 합니다. Java 애플리케이션에서 Oracle 데이터베이스와 연동하는 경우, 적절한 쿼리 최적화 기법을 적용하여 성능을 개선할 수 있습니다. 이 글에서는 조회 쿼리 성능을 향상시키기 위한 다양한 기법과 예제 코드를 소개하겠습니다.1. 인덱스 활용하기인덱스는 테이블의 특정 열에 대한 검색 속도를 빠르게 합니다. 쿼리의 WHERE 절에 자주 사용되는 컬럼에는 인덱스를 추가하는 것이 좋습니다. 인덱스를 활용하면 데이터 검색 시 전체 테이블을 스캔하는 것이 아니라, 인덱스 트리만 탐색하여 결과를 더 빠르게 조회할 수 있습니다.예시다음은 Java 코드에서 인덱스가 적용된 컬럼을 사용하여 데이터.. JAVA 2024. 11. 11. Java 언어의 예외 처리 (Exception Handling) Java는 예외 처리(Exception Handling)를 통해 프로그램 실행 중 발생하는 오류를 관리할 수 있는 강력한 메커니즘을 제공합니다. 예외 처리는 프로그램의 비정상적인 종료를 방지하고, 오류 상황을 적절히 처리할 수 있도록 돕습니다. 이번 포스트에서는 Java의 예외 처리에 대해 자세히 설명하고, 샘플 코드를 통해 어떻게 활용되는지 알아보겠습니다. 1. 예외(Exception)란 무엇인가?예외란 프로그램 실행 도중 예상치 못한 오류가 발생할 때 이를 처리하기 위한 메커니즘입니다. 예외가 발생하면 Java는 프로그램의 실행을 중지하고, 예외 객체를 생성하여 적절한 처리 코드를 찾습니다. Java에서의 예외는 java.lang.Exception 클래스를 상속받아 정의되며, 크게 두 가지로 구분됩니.. JAVA 2024. 9. 15. 이전 1 2 다음 반응형