2016年3月12日 星期六

Spring Boot Hello


本文說明用Spring Boot 建構Web應用專案。


一、本文使用相關技術及軟體

Eclipse IDE Version: Kepler Service Release 2
JAVA JDK: 7.0_60
Maven :3.0.5

二、取得相關Jar檔
pom.xml加入Spring Boot相關設定

 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <version>1.3.3.RELEASE</version>
 </dependency>
 
圖1 pom.xml



三、建立主要測試程式

本測試專案只需二支JAVA檔:
1、Application.java
2、HelloBootController.java
圖2

程式內容: Application.java

圖3
 package com.test.springboot;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 /**
  * @author levin 2016/3/11 下午11:42:11
  */
 @Configuration
 @ComponentScan
 @EnableAutoConfiguration
 public class Application {
  public static void main(String[] args) {
   SpringApplication.run(Application.class, args);
  }
 }
 

說明:
@Configuration 使用 Java Class 作為設定,(非XML)
@ComponentScan自動掃描 Spring Bean 元件
@EnableAutoConfiguration 啟用 Spring Boot 自動配置,將自動判斷專案使用到的套件,建立相關的設定。

註:
使用自動掃描時,會掃描此class 的package下的程式。
 com
   +- test
    +- springboot
    +-Application.java
    |
    |+-controller
     +-HelloBootController.java
 

本專案從package com.test.springboot下自動掃描底下的程式。
參考:Using Spring Boot Using the “default” package




程式內容:HelloBootController.java
圖4
 package com.test.springboot.controller;

 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;

 /**
  * @author levin 2016/3/11 下午11:42:11
  */
 @RestController
 public class HelloBootController {
  @RequestMapping("/")
  public String helloPage() {
   return "Hello! Spring Boot!";
  }

  @RequestMapping("/hello/{name}")
  public @ResponseBody
  String hello(@PathVariable("name") String name) {
   return "Hello " + name;
  }
 }
 

說明:
Spring 4.0 新增的@RestController ,如果要使用RESTful Web Services 可以使用這Annotation

在hello 方法這使用RESTful,加入{}對URL進行參數化。
加入 @PathVariable 讓Spring自動將對應的URL參數轉換為此方法的參數

四、測試專案
1、點選Application.java
圖5


2、啟動
圖6

3、開啟瀏灠器輸入 http://localhost:8080/
  Spring Boot 預設使用8080 port
圖7

圖8 輸入 http://localhost:8080/hello/levin
levin 改為你的名字,就會顯示在頁面上。



五、測試專案下載
程式放在github,專案名為SpringBootByTest1.rar

推薦書品:
Eclipse完全攻略(第四版)[Gradle自動化建構Java開發專案]

Java分散式處理實務精要:奠定雲端基礎的63個思考術

求職加分!進入IT產業必讀的324個 Java面試決勝題:從求職準備、面試流程、開發心得、重點回顧到經典試題的完整剖析

我的Java程式比你的快10倍:從概念到工具的極度優化

Java 效能優化指南

Java程式設計師面試寶典

比MySQL快60倍:Redis記憶體儲存資料庫快速上手












































其它文章

沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...