Spring Boot 軽く触ってみた感想日記

そもそも Spring Framework 使ったこと無い人なのでまあそこも含めての疑問と理解してる途中の内容とかメモ。

Q. Spring Boot って?
A. Spring Framework 使ったアプリを組み込みサーバ上で動かすみたいな仕組みの総称みたいな理解

Q. 組み込みサーバでそのまま本番で使える?
A. そのまま使ってもよさそう。 runnable jar とかにして動かすっぽい。

Q. どうやって始めたら?
A. Intellij IDEA でプラグイン入れてポチポチやってたらとりあえず動くだけ動いた(ページが見られるとは言ってない)

Q. URL のルーティングどうやるの?
A. Controller アノテーションのメソッドに RequestMapping アノテーションを付けたメソッドを作るとよいらしい。(下記例を参照)


@Controller
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @RequestMapping("/")
    String home() {
        return "index";
    }
}


Q. EnableAutoConfiguration アノテーションって?
A. わからん

Q. Cookie に自分で書き込んだ情報を使って認証とかしたい場合は?
A. シングルサインオン的な実装でいいらしい(別途何か書く)
雑に書くと、普通の Servlet フィルタな感じで実装して EnableWebMvcSecurity な Configuration で HttpSecurity に addFilter したら動いた

Q. setCookie したい
A. RequestMapping アノテーションの付いたメソッドの引き数に HttpServletResponse の型のものを追加するとそれでできる様子

@RequestMapping("/")
String home(HttpServletResponse response) {
  response.addCookie(new Cookie("somecookiename", "somecookievalue"));
}

参考文献

Spring Boot Reference Guide

spring-security-core - Spring Security(Spring Boot)で、PreAuthentication - Qiita

Spring MVC Cookie example