[java] Vaadin을 사용하여 CRUD 애플리케이션 개발하기
개요
Vaadin은 Java 개발자가 웹 기반의 애플리케이션을 쉽게 개발할 수 있는 프레임워크입니다. 이번 포스트에서는 Vaadin을 사용하여 간단한 CRUD(Create, Read, Update, Delete) 애플리케이션을 개발하는 방법에 대해 알아보겠습니다.
사전 준비
- Java 개발 환경(Git, JDK, IDE 등)
- Maven 빌드 도구 설치
- Vaadin 프레임워크 설치
프로젝트 생성
먼저 Maven을 사용하여 Vaadin 프로젝트를 생성해보겠습니다. 아래 커맨드를 터미널에서 실행하여 프로젝트를 생성합니다.
mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=LATEST -DgroupId=com.example -DartifactId=myapp
프로젝트 생성이 완료되면 IDE에서 프로젝트를 열고, MyApp
클래스를 생성합니다.
UI 디자인
Vaadin은 UI를 그래픽 툴 없이 자바 코드로 디자인할 수 있는 특징이 있습니다. MyApp
클래스를 열고, 다음과 같이 UI를 디자인해봅시다.
@Route
public class MyApp extends VerticalLayout {
private Grid<Person> personGrid = new Grid<>(Person.class);
private TextField firstNameField = new TextField("First Name");
private TextField lastNameField = new TextField("Last Name");
private Button addButton = new Button("Add");
private Button updateButton = new Button("Update");
private Button deleteButton = new Button("Delete");
public MyApp() {
personGrid.setColumns("firstName", "lastName");
personGrid.setItems(getDummyData());
addButton.addClickListener(e -> addPerson());
updateButton.addClickListener(e -> updatePerson());
deleteButton.addClickListener(e -> deletePerson());
add(personGrid, firstNameField, lastNameField, addButton, updateButton, deleteButton);
}
private void addPerson() {
String firstName = firstNameField.getValue();
String lastName = lastNameField.getValue();
Person person = new Person(firstName, lastName);
personGrid.getItems().add(person);
clearFields();
}
private void updatePerson() {
Person selectedPerson = personGrid.getSelectedItems().iterator().next();
selectedPerson.setFirstName(firstNameField.getValue());
selectedPerson.setLastName(lastNameField.getValue());
personGrid.getDataProvider().refreshAll();
clearFields();
}
private void deletePerson() {
Person selectedPerson = personGrid.getSelectedItems().iterator().next();
personGrid.getItems().remove(selectedPerson);
clearFields();
}
private void clearFields() {
firstNameField.clear();
lastNameField.clear();
}
private List<Person> getDummyData() {
List<Person> people = new ArrayList<>();
people.add(new Person("John", "Doe"));
people.add(new Person("Jane", "Smith"));
return people;
}
}
위의 코드에서 Person
클래스는 간단한 데이터 객체입니다. Person
클래스를 아래와 같이 정의해줍니다.
public class Person {
private String firstName;
private String lastName;
// getters and setters
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
}
애플리케이션 실행
실행하려면 MyApp
클래스에서 메인 메서드를 생성해야 합니다. 아래 코드를 추가해주세요.
public static void main(String[] args) {
Vaadin.run(MyApp.class, args);
}
탐색창이 실행되면 웹 브라우저에서 애플리케이션을 확인할 수 있습니다.
결론
Vaadin 프레임워크를 사용하여 CRUD 기능을 가진 애플리케이션을 개발하는 방법에 대해 알아보았습니다. Vaadin은 자바 개발자들에게 쉽고 간편한 웹 개발 경험을 제공합니다. 추가적인 개발이 필요한 경우 Vaadin 프레임워크의 다양한 기능과 컴포넌트를 사용하여 기능을 구현할 수 있습니다.