Java×Spring Bootで業務アプリを作ってみよう【初級〜中級編】

業務効率化・自動化のニーズが高まる中、Java×Spring Bootを使って業務アプリを自作するスキルはますます重要になっています。

この記事では、初級〜中級エンジニア向けに、Spring Bootを使って「顧客管理アプリ」を段階的に開発する方法を解説します。IDEの準備から、DB連携、画面表示までを一歩ずつ丁寧に紹介します。


✅ 対象読者

  • Javaの基礎文法を理解している方
  • 業務アプリ開発に興味のある方
  • Spring Bootに入門したい初・中級者

1. Spring Bootとは?

Spring Bootは、Javaのフレームワーク「Spring」をベースに、設定ファイルや開発の煩雑さを大幅に軽減したものです。
特徴は以下の通り

  • 設定ファイルが少なくて済む
  • Tomcatが組み込み済み
  • REST APIやWebアプリが簡単に作れる

2. 開発環境を準備しよう

✅ 必要なツール

ツール推奨バージョン
Java17以降
Maven3.8以上
Spring Boot3.x系
IDEIntelliJ IDEA / Eclipse
DBH2(組み込み)、またはMySQL

✅ プロジェクト作成(Spring Initializr)

https://start.spring.io/ にアクセスして、以下のように設定

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.2.x
  • Dependencies:
    • Spring Web
    • Spring Data JPA
    • H2 Database
    • Thymeleaf(UIが必要なら)

3. 「顧客管理アプリ」の要件

  • 顧客一覧表示
  • 顧客情報の登録・編集・削除
  • 入力バリデーション
  • データはH2データベースに保存

4. エンティティを作成しよう(Customer.java)

@Entity
public class Customer {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NotBlank
    private String name;

    @Email
    private String email;

    // getter/setter省略
}

5. リポジトリ層の実装(CustomerRepository.java)

public interface CustomerRepository extends JpaRepository<Customer, Long> {
    List<Customer> findByNameContaining(String keyword);
}

6. サービス層の実装(CustomerService.java)

@Service
public class CustomerService {

    @Autowired
    private CustomerRepository repository;

    public List<Customer> findAll() {
        return repository.findAll();
    }

    public Customer save(Customer customer) {
        return repository.save(customer);
    }

    public void delete(Long id) {
        repository.deleteById(id);
    }
}

7. コントローラ層の実装(CustomerController.java)

@Controller
@RequestMapping("/customers")
public class CustomerController {

    @Autowired
    private CustomerService service;

    @GetMapping
    public String list(Model model) {
        model.addAttribute("customers", service.findAll());
        return "customer_list";
    }

    @GetMapping("/new")
    public String createForm(Model model) {
        model.addAttribute("customer", new Customer());
        return "customer_form";
    }

    @PostMapping
    public String save(@ModelAttribute @Valid Customer customer, BindingResult result) {
        if (result.hasErrors()) {
            return "customer_form";
        }
        service.save(customer);
        return "redirect:/customers";
    }

    @PostMapping("/delete/{id}")
    public String delete(@PathVariable Long id) {
        service.delete(id);
        return "redirect:/customers";
    }
}

8. テンプレートファイル(Thymeleaf)

src/main/resources/templates/customer_list.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>顧客一覧</title></head>
<body>
<h1>顧客一覧</h1>
<table>
    <tr><th>ID</th><th>名前</th><th>Email</th><th>操作</th></tr>
    <tr th:each="customer : ${customers}">
        <td th:text="${customer.id}"></td>
        <td th:text="${customer.name}"></td>
        <td th:text="${customer.email}"></td>
        <td>
            <form th:action="@{'/customers/delete/' + ${customer.id}}" method="post">
                <button type="submit">削除</button>
            </form>
        </td>
    </tr>
</table>
<a href="/customers/new">新規追加</a>
</body>
</html>

9. 動作確認しよう!

Spring Bootアプリを起動し、ブラウザで以下にアクセス:

http://localhost:8080/customers

顧客一覧が表示され、追加・削除できれば成功です。


10. 応用編に向けて

本記事では、Spring Bootを使った業務アプリの基本構成を解説しました。次は以下にチャレンジしてみましょう:

  • Spring Securityによる認証機能
  • MySQLなど本番用DBへの移行
  • API化(REST設計)とフロント分離
  • テストコード(JUnit)導入

🔗 関連リンク


✍️ まとめ

Spring Bootは、業務アプリの定番フレームワークです。Javaに慣れている方なら、意外とすんなり実装できます。

「動く業務アプリを作れる」ことは、転職や副業でも大きな武器になります。
まずはこの顧客管理アプリから、第一歩を踏み出してみましょう!

転職でキャリアを加速させたいあなたへ

「今の職場に限界を感じている」「もっと評価される場所で働きたい」そんなあなたに向けて、転職成功の実践ノウハウと退職時の不安を解消するサポート情報をまとめました。

転職・退職で迷っている方へ。不安を解消し、自信を持って次のキャリアへ踏み出しましょう。

タイトルとURLをコピーしました