非maven配置SpringBoot框架


 

簡介


 

  最近看SpringBoot框架非常火,所以嘗試的參照資料學習了一下SpringBoot框架,

  起初是搭建的maven項目,可是個人覺得maven項目搭建起來不太方面(還有網絡

  原因),所以我這性格比較受不了,就在網上手動把SpringBoot簡單程序需要的包

  都下載到了本地。如果你跟我一樣也是剛開始使用SpringBoot並加載本地jar包,

  那你真是來對了~~

 

springboot介紹


 

通過網上的資料,我簡單地了解一下SpringBoot 

 1.敏捷開發(整合框架)
 2.無需Tomcat (java應用程序運行,實際jar包),內置Tomcat
 3.減少xml配置(沒有xml),配置文件properties。
 4.微服務框架主流 SpringCloud+SpringBoot
 5.注解:提供了很多注解

 SpringBoot--和微服務有什么關聯?
 目前來說SpringCloud(http接口+test),基於SpringBootweb組件封裝SpringMVC
 

 原理:
 微服務架構的SpringCloud做的RPC遠程調用,用到的接口協議是這個PRC協議,
 通過json傳參數,
 SpringCloud核心依賴是springboot,springboot核心是依賴的springmvc

 

 簡單的搭建需要什么包


 

我在這搭建的時候下載到本地,用到了31個jar包,通過網上查找有用30個包搭建的,

可是后來運行我這里出現了問題,所以添加了一個包解決掉了這個問題

需要的包如圖:

 

 

 

如果需要jar包的小伙伴可以聯系我或者在下方評論~~

 

  配置簡單的SpringBoot


 

 首先,添加本地jar包到我的web項目,如果您是老司機請直接看代碼~

 

正常創建web項目

  我在這正常下一步,項目取名:MySpringBoot01,正常Finish(因為SpringBoot基本不用xml文件,所以直接下一步

然后進入導包步驟

  

 

因為SpringBoot內置Tomcat,我也添加了Tpmcat的核心包,所以在運行時會因為包類沖突出現錯誤,

所以我在這Remove掉Tomcat的包,解決掉沖突使程序正常運行

然后添加SpringBoot需要的本地jar包

最后應用(點擊Apply),在點擊OK 。完成基本的配置操作

 

 

 

  代碼實現SpringBoot


首先創建一個HelloSpringBoot的類

 

終於到最后的代碼操作了。廢話不多說 我直接上代碼

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration
public class HelloSpringBoot {
    
    @RequestMapping("/index")
    @ResponseBody
    public String index(){
        return "Hello Word!";
    }
    
    //入口程序
    public static void main(String[] args) {
        //主函數運行springboot項目
        SpringApplication.run(HelloSpringBoot.class, args);
    }
}

 

 

如果你之前用過SSM框架,相信你大致可以看明白了

我既然沒有Tomcat服務器,我肯定需要個入口來運行我的SpringBoot程序,

所以用到了SpringApplication.run()這個方法啟動內置的Tomcat服務器。

 

注解

@Controller:

用於定義控制器類,在spring 項目中由控制器負責將用戶發來的URL請求轉發

對應的服務接口(service層),一般這個注解在類中,通常方法需要配合注

@RequestMapping使用。像上述代碼通過RUL的index請求,來響應我的方法。

@EnableAutoConfiguration:

Spring Boot自動配置(auto-configuration):嘗試根據你添加的jar依賴自動配置

你的Spring應用。例如,如果你的classpath下存在HSQLDB,並且你沒有手動配置

任何數據庫連接beans,那么我們將自動配置一個內存型(in-memory)數據庫”。

 

@ResponseBody:

表示該方法的返回結果直接寫入http response body中,一般在異步獲取數據時使用,

用於構建RESTful的api。在使用@RequestMapping后,返回值通常解析為跳轉路徑,

加上@ResponseBody后返回結果不會被解析為跳轉路徑,直接寫入http response body

中。比如異步獲取json數據,加上@ResponseBody后,會直接返回json數據。



在SpringBoot中添加了一些新的注解,像@RestController

用法:

 

 1 import java.util.HashMap;
 2 import java.util.Map;
 3 
 4 import org.springframework.boot.SpringApplication;
 5 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 6 import org.springframework.web.bind.annotation.RequestMapping;
 7 import org.springframework.web.bind.annotation.ResponseBody;
 8 import org.springframework.web.bind.annotation.RestController;
 9 
10 
11 //@Controller
12 @RestController //相當於ResponseBody + Controller 任何一個方法都以json格式返回 
13 
14 @EnableAutoConfiguration
15 public class HelloSpringBoot {
16     @RequestMapping("/index")
17     @ResponseBody
18     public String index(){
19         return "Hello Word!";
20     }
21     @RequestMapping("/getMap")
22     @ResponseBody
23     public Map<Object,Object> getMap(){
24         Map<Object,Object> m = new HashMap<>();
25         m.put(1, "a");
26         m.put(2, "b");
27         m.put(3, "c");
28         return m;
29     }
30     //入口程序
31     public static void main(String[] args) {
32         //主函數運行springboot項目
33         SpringApplication.run(HelloSpringBoot.class, args);
34     }
35 }

 

注解

@RestController:

用於標注控制層組件(如struts中的action),@ResponseBody和@Controller的合集。

 

運行項目


 

 

正常運行項目

 

配置成功顯示:

你還可以看到基本的一些信息

我用的是谷歌瀏覽器

在網址寫入  http://localhost:8080/index     --------> index 就是我 @RequestMapping映射的方法名,映射的url

啟動完成!!簡單的SpringBoot項目搭建成功了~~

 

當然你也可以訪問getMap,返回的是json格式

   基本就是這樣,怎么樣 和SpringMVC繁瑣的xml對比 相對簡單把~~

 

 

   

    感謝大家觀看此篇文章,如果有什么見解可以留言給我~~

 

            

2018-03-08


   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM