この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:9
ページ更新者:T
更新日時:2026-05-15 03:52:15

タイトル: @Controller
SEOタイトル: 【Spring】@Controllerアノテーションとは

この記事の要点
  • @ControllerWeb MVC のコントローラ層のクラスに付与する Spring アノテーション
  • @Component と同じく Bean 登録 → DI 対象になる
  • View 名(テンプレート名)を戻り値 (String) で返すとHTML を返す画面遷移コントローラになる
  • JSON / REST を返すなら @Controller + @ResponseBody または @RestController

 

本稿はSpringFrameworkの@Controllerについて説明します。

 

@Controllerとは

@ControllerはMVCのコントローラーに該当するクラスに付与します。

@Componentと同じく、Spirngのコンポーネントとして認識され、ApplicationContextに登録されることで、DI対象のクラスとなります。

※従って、@Controllerを付与したクラスは@Componentは不要です。

以下、コントローラーのサンプルです。

@Controller
public class HomeController {
    
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        
        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
        
        String formattedDate = dateFormat.format(date);
        model.addAttribute("serverTime", formattedDate );
        
        return "home";
    }
}