Java、Ecripseを最新にしたので何かやってみよう。

というわけで「WebAPIが簡単にできる」と噂の
Spring Bootを試してみる。

Ecripseで、新規作成→Mavenプロジェクトを選択
spring-boot-try01

デフォルトのまま次へ。
spring-boot-try02

再びデフォルトのまま次へ。
spring-boot-try03

グループID、アーティファクトIDは任意の値を入れて完了ボタンをクリック。
spring-boot-try04

プロジェクトが作成された。
spring-boot-try05

 

pom.xmlを開いて編集する。
javaのバージョンを8に。

 <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <maven.compile.source>1.8</maven.compile.source>
     <maven.compile.target>1.8</maven.compile.target>
     <java.version>1.8</java.version>
 </properties>

Spring Bootを追加。

 <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.2.5.RELEASE</version>
 </parent>

依存関係を追加

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>

プラグインを追加

 <build>
     <plugins>
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
     </plugins>
 </build>

保存して、プロジェクトを更新。
spring-boot-try06

コントローラークラス用にパッケージを作成し
spring-boot-try07

HelloControllerクラスを作成。
spring-boot-try08

ソースはとりあえずこんな感じで。

@Controller
public class HelloController {

     @RequestMapping("/hello")
     @ResponseBody
     public Map<String, String> hello() {
         Map<String, String> map = new HashMap<>();
         map.put("EN", "Hello World!");
         map.put("JP", "こんにちわ 世界!");
         return map;
     }
}

プロジェクト作成時に作られたApp.javaを修正。

@ComponentScan
@EnableAutoConfiguration
public class App {
    public static void main(String[] args) {
        SpringApplication.run(HelloController.class, args);
    }
}

実行してみる。
spring-boot-try09

あらまー、、、
spring-boot-try10

あぁ勘違い、、恥をさらしておこ。

@ComponentScan
@EnableAutoConfiguration
public class App {
    public static void main(String[] args) {
//        SpringApplication.run(HelloController.class, args);
        SpringApplication.run(App.class, args);
    }
}

もう1回実行・・・うまくいったらしい。
spring-boot-try11

「http://localhost:8080/hello」へアクセスしてみる。
spring-boot-try12

OK。

 

■参考リンク