Spring Boot で Controller と Repositoryを同じクラスで併用する
   1 min read
…なんてことができたんですね。こんなコード: @RestController @Repository public interface VehicleInterface extends JpaRepository<vehicle, Long> { @Query("select u from vehicle u where u.year = :year") @RequestMapping(value = "/vehicles", method = RequestMethod.GET) List<vehicle> findByYearEquals(@Param("year") Integer year); } http://localhost:8080/vehicles?year=2010 的なURLでアクセスします。 サンプル
Spring-BootでJSPを使う
   1 min read
https://start.spring.io/ で depencencies に Spring Web を追加して生成します。 生成された pom.xml に次の依存関係を追加します: pom.xml <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <!-- 必要に応じて --> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> appliction.properties に次を追加します: application.properties spring.mvc.view.prefix=/WEB-INF/view/ spring.mvc.view.suffix=.jsp src/main/webapp/WEB-INF/view/ の下
${...}と#{...}の違い
   1 min read
Spring Expression Language (SpEL) with @Value: dollar vs. hash ($ vs. #) より。 ${…​} は単なるプロパティのプレースホルダ。 #{…​} は Spring Expression Language(SpEL) の構文。 プレースホルダは置き換えるだけだけれど
List#contains(null)は使わないほうが良い
   1 min read
List(などのコレクション)が要素に null を含むかどうかの判定に、 contains(null) を利用すると NullPointerException が発生することがあります。 リファレンスには次のようにあります