從零開始構(gòu)建一個spring boot + angular web應(yīng)用(1)

原創(chuàng)性聲明:本文完全為筆者原創(chuàng),請尊重筆者勞動力。轉(zhuǎn)載務(wù)必注明原文地址。

說在前頭

首先,開始項目前,電腦的必備開發(fā)環(huán)境要首先具備。如, JDK、node、maven、bower等常用工具要具備。廢話不多說了。

  • step 1
    創(chuàng)建maven項目,隨便找個地方創(chuàng)建一個文件夾demo,cmd進入該目錄下,執(zhí)行如下maven命令:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

其中,

  • mvn archetype:generate:固定格式
  • -DgroupId:組織標識(包名)
  • -DartifactId:項目名稱
  • -DarchetypeArtifactId:指定構(gòu)建的項目類型,maven-archetype-quickstart是一個通用的java 項目。
  • DinteractiveMode:是否使用交互模式
  • Step 2
    更改pom.xml文件,內(nèi)容如下:
<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

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

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
        </dependency>
        
    </dependencies>

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

關(guān)于pom.xml 的更多介紹可以參見這篇博客

  • step 3
    在sts或eclipse中導入這個maven項目。此時,maven會自動根據(jù)你的pom.xml文件中的依賴去本地倉庫加載jar包依賴,如果本地倉庫沒有,就會自動去中央倉庫下載。因此此時的項目結(jié)構(gòu)如下:

Paste_Image.png

可以看到,Maven Dependencies已經(jīng)有了(注意sts要首先添加maven依賴,,可以參考:這里。

  • step 4
    編輯App.java,如下:
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class App extends SpringBootServletInitializer
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // TODO Auto-generated method stub
        return builder.sources(App.class);
    }
    
}

接著運行項目,發(fā)現(xiàn),報如下錯誤:

Paste_Image.png

缺少數(shù)據(jù)庫驅(qū)動,需要在配置文件里配置,但是發(fā)現(xiàn),我們項目中沒有自動生成application.properities文件,因此點擊項目根目錄右擊新建文件夾src/main/resources,如果resources文件夾被建在了這個位置:

Paste_Image.png

不用擔心,右擊項目根目錄,執(zhí)行Maven->Update Project,maven會自動更新項目結(jié)構(gòu),執(zhí)行結(jié)果如下:

Paste_Image.png
  • step 5
    resources下創(chuàng)建application.properties文件:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo_test?autoReconnect=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456

上面內(nèi)容配置了數(shù)據(jù)庫信息。接著在webapp下創(chuàng)建index.html:

Paste_Image.png

內(nèi)容如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
  首頁
</body>
</html>
  • step 6
    運行demo項目,Run As-> Spring Boot App。啟動成功:
    Paste_Image.png

    訪問localhost:8080。結(jié)果如下:
    Paste_Image.png

    至此,一個基本的spring boot搭建成功!關(guān)于angular搭建,見下篇。

補充

  • 除了完全手動搭一個spring boot,也可以采用其他很多方式。例如:
    1. 在sts中創(chuàng)建一個maven項目,選擇maven-archetype-quickstart,然后根據(jù)需要去編輯pom.xml,編輯主類和配置文件。
    2. 在官方提供的自動生成器中生成:點這里;
    3. 其他方式。
  • 除了使用application.properties配置文件外,還可以使用application.yml文件。
    例如,在src/main/resources下創(chuàng)建文件夾config,在其下在創(chuàng)建application.yml文件,內(nèi)容如下:
spring:
    datasource:
      url: jdbc:mysql://127.0.0.1:3306/demo_test?autoReconnect=true
      driver-class-name: com.mysql.jdbc.Driver
      username: root
      password: 123456

程序完全可以正常運行。

tip:無論配置文件是application.properties還是application.yml,也無論配置文件在哪個目錄下,spring boot程序似乎都能訪問到,但是為了項目結(jié)構(gòu)的標準型,務(wù)必合理部署。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容