1. 程式人生 > >springboot 系列教程一:基礎專案搭建

springboot 系列教程一:基礎專案搭建

使用 spring boot 有什麼好處

  1. 其實就是簡單、快速、方便!平時如果我們需要搭建一個 spring web 專案的時候需要怎麼做呢?
  2. 配置 web.xml,載入 spring 和 spring mvc
  3. 配置資料庫連線、配置 spring 事務
  4. 配置載入配置檔案的讀取,開啟註解
  5. 配置日誌檔案

 

配置完成之後部署 tomcat 除錯,現在非常流行微服務,如果我這個專案僅僅只是需要傳送一個郵件,或者我的專案僅僅是生產一個積分,我都需要這樣折騰一遍,想想就很累!

快速入門

第一種,自己建立

maven 構建專案

  1. 訪問 
    http://start.spring.io/
  2. 選擇構建工具 Maven Project、Spring Boot 版本以及一些工程基本資訊,點選“ Switch to the full version. ”,可以看到更多的配置
  3. 點選 Generate Project 下載專案壓縮包
  4. 解壓後,使用 eclipse,Import -> Existing Maven Projects -> Next ->選擇解壓後的資料夾-> Finsh,OK done!

專案結構介紹

spingboot 建議的目錄結果如下:

採用預設配置可以省去很多配置,當然也可以根據自己的喜歡來進行更改最後,啟動 main 方法,至此一個專案搭建好了!

官方的構建工具非常舒服,下面我選擇自己建立一個maven專案,自己做配置,我的專案結構如下:

引入web模組

1.pom.xml 中新增支援 web 的模組:

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
        <relativePath/>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>springboot</artifactId>

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

</project>

2.編寫 controller 內容:

package com.bdqn.zmj.controller;

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

@RestController
public class HellController {

    @RequestMapping("/hello")
    public String index() {

        return "Hello World";
    }

}

@RestController 的意思就是 controller 裡面的方法都以 json 格式輸出,是controller和responbody的結合體

3.啟動類

package com.bdqn.zmj.test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan("com.bdqn.zmj")
public class Application {

    public static void main(String[] args) {

        SpringApplication.run(Application.class,args);
    }
}

4、啟動 main 方法,開啟瀏覽器訪問 http://localhost:8080/hello 就可以看到效果了!

大家不要慌張,你可能會遇見以下問題!!!你輸入好你的配置路徑後怎麼也訪問不到hello word氣不氣,你說

大家在建立專案的時候一定要注意兩個點!!按照下面的方式問題得到解決

/**
 * 當測試啟動類和Controller不位於同一個包下面時候需要
 * 在application啟動類裡面配置@ComponentScan(basePackages = {"com.bdqn.Controller"})去掃描controller的路徑
 */

第二種,使用Spring Initializer快速建立Spring Boot專案

按照建立maven專案一樣,選擇圖下面畫框的部分

接下你可以選擇一些你需要匯入的元件,springboot會自動把你把依賴匯入進來,一直點選下一步直完成

這個時候你點選啟動類,application的話,會報錯提示如下

Description:
 
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
//無法配置資料庫,沒有指定url屬性,並且無法配置embedded datasource
Reason: Failed to determine a suitable driver class
//原因:無法明確指定正確的驅動類(driver.class)
 
Action:
 
Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
 
//建議:
//如果如果需要載入嵌入式的資料庫,請將他放入路徑中
//如果有資料庫設定需要從指定配置檔案中載入,需要呼叫該配置檔案(目前沒有活動的配置檔案)
 

發現只因為有pom檔案的修改導致專案中增加的mysql、redis、es、mongodb的依賴包的匯入,需要新增新的database配置檔案,可能因為springboot的啟動會自動載入這些依賴啟動時候需要的以來檔案,主要報錯是這個兩個匯入類,這兩個依賴的匯入需要有他們支援的相關的配置檔案web 、 mybatis,好了搞定

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


        <!--<dependency>-->
            <!--<groupId>org.mybatis.spring.boot</groupId>-->
            <!--<artifactId>mybatis-spring-boot-starter</artifactId>-->
            <!--<version>1.3.2</version>-->
        <!--</dependency>-->
程式入口處:
 
@SpringBootApplication
public class DemoApplication {
 
修改為:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
//該註解的作用是,排除自動注入資料來源的配置(取消資料庫配置),一般使用在客戶端(消費者)服務中
public class DemoApplication {

相關推薦

springboot 系列教程基礎專案搭建

使用 spring boot 有什麼好處 其實就是簡單、快速、方便!平時如果我們需要搭建一個 spring web 專案

Spring Boot基礎教程 ( ) 基礎專案構建,引入web模組,完成一個簡單的RESTful API

簡介 在您第1次接觸和學習Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反覆黏貼的配置有一些厭煩?那麼您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構建Spring應用! Spring Boot

SpringBoot系列教程JPA之基礎環境搭建

JPA(Java Persistence API)Java持久化API,是 Java 持久化的標準規範,Hibernate是持久

熊大UWB系列教程 DW1000 超寬頻系統簡介及最小系統搭建

對超寬頻感興趣的朋友,請關注熊大的微信公眾號,熊大將在上面釋出超寬頻教程,行業資訊,技術應用。幫助你更好的瞭解、學習、使用超寬頻技術。 熊大DW1000系列教程一: DW1000 超寬頻系統簡介及最小系統搭建 DW1000是decawave公司於20

SpringBoot系列SpringBoot整合Restful架構(使用 RestTemplate 模版實現 Rest 服務調用、Swagger 集成、動態修改日誌級別)

attribute tar ring 動態修改 包含 分布式 restfu pen 負載 1、概念:SpringBoot整合Restful架構 2、背景 Spring 與 Restful 整合才是微架構的核心,雖然在整個 SpringBoot(SpringCloud)之中提

Java開發公眾號系列教程()微信js-sdk上傳照片相容IOS和安卓裝置

很多開發者朋友在進行微信公眾號開發時,遇到微信js-sdk上傳手機相簿照片時IOS裝置無法正常預覽的情況,今天筆者結合多年的開發經驗,把相容IOS的解決方案分享給廣大微信開發者朋友。 微信最新版本JSSDK文件 地址https://mp.weixin.qq.com/advanced/wiki

Elasticsearch系列教程()安裝

Elasticsearch簡介 Elasticsearch是一個高度可擴充套件的開源全文搜尋和分析引擎。它允許您快速,近實時地儲存,搜尋和分析大量資料。它通常用作底層引擎/技術,為具有複雜搜尋功能和要求的應用程式提供支援。 Elasticsearch可用於以下場景: 您執行線上網上商店

React學習()——基礎專案搭建以及環境配置

大家好,我是凱文,本篇文章將介紹React前端框架的環境配置以及專案搭建方法,其中涉及到了node.js(js執行平臺)、npm(依賴包管理工具)等內容。網上已經有許多類似的教程,這篇文章可以給各位做個參考,同時給我自己當做一個筆記。     React作為時下較為熱門的前

Java開發公眾號系列教程()微信js-sdk上傳手機相簿照片相容IOS和安卓裝置

很多開發者朋友在進行微信公眾號開發時,遇到微信js-sdk上傳手機相簿照片時IOS裝置無法正常預覽的情況,今天筆者結合多多年的開發經驗,把相容IOS的解決方案分享給廣大微信開發者朋友。 一、首先申明一點筆者本案例用的微信JSSDK版本是1.2.0的,官方文件給出的最

React基礎專案搭建

近期在用React相關技術編寫一個簡單的會議室預定系統,將基礎的專案搭建部分整理出來,分享一下。  程式設計工具:Webstorm(jetbrains公司旗下的一款JavaScript開發工具,素有“Web前端開發神器”、“最強大的的HTML5編輯器”等稱號,個人覺得開

vue專案實踐教程1vux專案搭建和簡介

vue作為比較受歡迎的前端開發框架之一,因為其優雅的程式碼結構,輕量化程式碼設計,簡介易懂的API,靈活易用的指令和屬性廣受前端開發者的喜愛,其學習成本和學習難度相對react來說要簡單很多。 這裡,筆者以一個小專案為例,向大家介紹vue的使用和開發。 在瞭

WPF教程基礎

基礎 傳統 cati control targe work 文檔結構 type 調用 一、WPF簡介WPF:WPF即Windows Presentation Foundation,翻譯為中文“Windows呈現基礎”,是微軟推出的基於Windows Vista的用戶界面框架

Maven 教程IDEA開發環境中maven 專案配置JDK9,JDK10,JDK11,JDK12..等EA版本的配置方法 系列教程

在Maven中配置使用的JDK,一般有兩種方法,筆者會對如下的兩種方法進行 分別的介紹。 筆者就以JDK10作為介紹,其他正常的JDK版本的配置也是一樣的。這裡使用JDK10 只是為了作一個通用的示範,使得大家舉一反三。後面會貼出其他版本的配置資訊。供大家拷貝

SpringBoot 系列SpringBoot專案搭建

一、引言:什麼是spring boot?    Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。用我的話來理解,就是spring

Spring Boot2 系列教程()純 Java 搭建 SSM 專案

在 Spring Boot 專案中,正常來說是不存在 XML 配置,這是因為 Spring Boot 不推薦使用 XML ,注意,並非不支援,Spring Boot 推薦開發者使用 Java 配置來搭建框架,Spring Boot 中,大量的自動化配置都是通過 Java 配置來實現的,這一套實現方案,我們也可

【Python3.6+Django2.0+Xadmin2.0系列教程】環境搭建及項目創建

添加 tran div 先來 ans 好的項目 tty 文件 mac 由於工作需要,接觸了大半年時間的Django+xadmin框架,一直沒空對這塊對進行相關的梳理。最近在同事的慫恿下,就在這分享下筆者的學習及工作經驗吧。 好了,話不多說,下面開始進入正題: 環境

Python基礎筆記系列標準輸入輸出、文件讀寫和指針等操作

mode strong sublime pre 字符串類型 類型 print語句 open 同時   本系列教程供個人學習筆記使用,如果您要瀏覽可能需要其它編程語言基礎(如C語言),why?因為我寫得爛啊,只有我自己看得懂!! 標準輸入輸出一、輸入  在sublime中這

SpringBoot基礎專案搭建及各種整合和專案原始碼

SpringBoot基礎專案搭建及各種整合    專案原始碼:連結:https://pan.baidu.com/s/1OExnvhWeW5oQK8BHMAdH3A   提取碼:2pbj  1.1、SpringBoot簡介 1.2、

《機器學習系列教程第二章 機器學習基礎

第二章 機器學習基礎 機器學習and 資料分析 2.2 監督學習、非監督學習、半監督學習、弱監督學習? 根據資料型別的不同,對一個問題的建模有不同的方式。依據不同的學習方式和輸入資料,機器學習主要分為以下四種學習方式。 監督學習: 監督學習是使用已知

架構系列大型專案架構演進過程

作為一名程式設計師,單單隻會Coding是遠遠不夠的,想要走的更高更完,還必需懂Coding之外的其他東西,如架構設計,系統分析等,今天就架構這塊,談談自己的理解 一、單機時代 單機時間的應用,都很簡單,一個應用,一臺伺服器,就搞定了,大至的架構設計如下圖