springboot 開發入門,及問題匯總

jopen 9年前發布 | 91K 次閱讀 Spring JEE框架 SpringBoot

1 . springboot簡單介紹(http://projects.spring.io/spring-boot/)

        現在的web項目幾乎都會用到spring框架,而要使用spring難免需要配置大量的xml配置文件,而springboot的出現解   決了這一問題,一個項目甚至不用部署到服務器上直接開跑,真像springboot所說:“just run”。

        springboot的很多默認編碼方式都是utf-8,真是福利啊。

    org.spring 2013年新開發的框架springboot , 它讓一個單獨項目的創建變得更加的簡單,讓所有依賴spring的程序可以做到“jast run”。springboot提供大量第三方libraries讓我們可以非常輕松的開始創建一個spring工程,甚至不需要再去配置一些繁瑣的xml配置文件

    愿景:

    1:創建獨立的spring應用。

    2:嵌入Tomcat, Jetty Undertow 而且不需要部署他們。

    3:提供的“starters”poms來簡化Maven配置

    4:盡可能自動配置spring應用。

    5:提供生產指標,健壯檢查和外部化配置

    6:絕對沒有代碼生成和XML配置要求

2 . 簡單實例演示 

    都是根據官方文檔一點點做的,目前就學了這么一點。

    springboot 開發入門,及問題匯總  

    一個簡單的helloworld     直接開始run  main方法就可以了  控制臺我也不知道都干了什么,好像是開始部署了,

    但是沒有關聯到我的tomcat。

    springboot 開發入門,及問題匯總

    瀏覽器就能直接訪問了。

    springboot 開發入門,及問題匯總

3 . 步驟詳解

    *注意事項:

    1.開發第一個springboot程序最好使用maven來搭建,文檔全程也是maven構建。

    2.springboot因為是一個最新開發的框架,所以只支持java6以上,java7最好,官方推薦java8。

    3.需要maven3.2以上版本支持。

    4.支持以下servlet容器              springboot 開發入門,及問題匯總   

                        也可以將springboot程序部署到所有支持servlet3.0以上的容器

     #開發第一個springboot應用  HelloWorld

        我這里用的MyEclipse10   java 6  maven 3.2.3   tomcat  7.0.55

        新建web project  并添加maven支持。

       springboot 開發入門,及問題匯總

      next之后后面要選擇javaee 6.0的library   記住不要選上,因為里面的slf4j會跟springboot自帶的產生沖突。

      #配置pom.xml

        配置pom的時候碰到了很多問題。這里提醒大家一下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>springboot</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>springboot</name>
    <description />

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- 這里一定要配置上java的版本,如果是1.7版本的可不用配置 -->
        <java.version>1.6</java.version>
        <!-- 配置你的tomcat版本 -->
        <tomcat.version>7.0.55</tomcat.version>
    </properties>
    <build>
        <plugins>
            <!--如果是通過parent方式繼承spring-boot-starter-parent則不用此插件
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            -->
        </plugins>
    </build>
    <!-- 父依賴 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <!-- 導入jar包 -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

1.    springboot 的logback-classes-1.1.2.jar的包下有一個org.slf4j.impl包 這是springboot真正需要的包而MyEclipse自帶的javaEE6.0library里也有一個slf4j包但它不是springboot所需要的,會一直報 NoSuchMethod異常getSingleton()。搞了半天才找到,所以一開始暫時不添加javaEE6.0Library。

2.這里教大家一個快速找到class文件真正所處包的方法。

當無法確定某個類屬于哪個包是   可以通過Test.class.getProtectionDomain();來查看

例如:發生noSuchMethod異常時,但是確實有該方法,一般就是重復加載了jar包。

3.官方文檔的例子都是用java7運行的。不配置<java.version>1.6</java.version>的話可能 會報版本異常的錯誤。具體是啥忘了  類似mirro.minor什么51.0的   50表示jdk1.6   51是jdk1.7

4.如果也不配置tomcat版本的話springboot默認會使用8.x版本的tomcat。所以要加一個

<tomcat.version>7.0.55</tomcat.version>來指定你所使用的tomcat版本(視你CATALINA_HOME配 置的所定)。

      

 #編寫java代碼

        

package com.i.springboot.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class FirstController {
    
    @RequestMapping(value="/")//是springmvc中的注解
    String home(){
        return "helloworld";
    }
    
    public static void main(String[] args) throws Exception {
        SpringApplication.run(FirstController.class, args);
    }
    
}

    完成后運行main程序無報錯則運行成功。在瀏覽器輸入相應的路徑即可獲得@RequestMapping返回的數據。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!