Tech Blog

プログラミングと技術の情報サイト

JavaのSpring BootでWebアプリを作る

JavaのSpring BootでWebアプリを作る

Spring BootはJavaのWebアプリケーション開発を大幅に簡略化するフレームワークです。 設定ファイルを最小限にした「コンベンション・オーバー・コンフィギュレーション」の思想で、 すぐに動くアプリを作れます。

プロジェクト作成

Spring Initializrを使うと依存関係を選ぶだけでプロジェクト雛形を生成できます。

# 必要な依存関係
- Spring Web
- Spring Data JPA
- H2 Database(開発用)
- Lombok

コントローラーの作成

@RestController
@RequestMapping("/api/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAll() {
        return userService.findAll();
    }

    @PostMapping
    public ResponseEntity<User> create(@RequestBody @Valid User user) {
        return ResponseEntity.status(201).body(userService.save(user));
    }
}

エンティティとリポジトリ

@Entity
@Data
public class User {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NotBlank
    private String name;

    @Email
    private String email;
}

public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByEmail(String email);
}

application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/myapp
spring.datasource.username=root
spring.datasource.password=secret
spring.jpa.hibernate.ddl-auto=update

まとめ

Spring Bootはエンタープライズ開発での実績が豊富で、大規模チームにも適しています。 GraalVMネイティブイメージによる起動時間の短縮など、近年のクラウド対応も進んでいます。

← 記事一覧に戻る