美文网首页亮书房Java Webjava全栈
从零开始构建一个spring boot + angular we

从零开始构建一个spring boot + angular we

作者: 东方一号蓝 | 来源:发表于2016-09-30 10:48 被阅读6306次

原创性声明:本文完全为笔者原创,请尊重笔者劳动力。转载务必注明原文地址。

说在前头

首先,开始项目前,电脑的必备开发环境要首先具备。如, JDKnodemavenbower等常用工具要具备。废话不多说了。

  • step 1
    创建maven项目,随便找个地方创建一个文件夹demo,cmd进入该目录下,执行如下maven命令:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

其中,

  • mvn archetype:generate:固定格式
  • -DgroupId:组织标识(包名)
  • -DartifactId:项目名称
  • -DarchetypeArtifactId:指定构建的项目类型,maven-archetype-quickstart是一个通用的java 项目。
  • DinteractiveMode:是否使用交互模式
  • Step 2
    更改pom.xml文件,内容如下:
<?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>

关于pom.xml 的更多介绍可以参见这篇博客

  • step 3
    在sts或eclipse中导入这个maven项目。此时,maven会自动根据你的pom.xml文件中的依赖去本地仓库加载jar包依赖,如果本地仓库没有,就会自动去中央仓库下载。因此此时的项目结构如下:
Paste_Image.png
可以看到,Maven Dependencies已经有了(注意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);
    }
    
}

接着运行项目,发现,报如下错误:

Paste_Image.png
缺少数据库驱动,需要在配置文件里配置,但是发现,我们项目中没有自动生成application.properities文件,因此点击项目根目录右击新建文件夹src/main/resources,如果resources文件夹被建在了这个位置: Paste_Image.png

不用担心,右击项目根目录,执行Maven->Update Project,maven会自动更新项目结构,执行结果如下:

Paste_Image.png
  • step 5
    resources下创建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

上面内容配置了数据库信息。接着在webapp下创建index.html:

Paste_Image.png
内容如下:
<!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。结果如下:
    Paste_Image.png
    至此,一个基本的spring boot搭建成功!关于angular搭建,见下篇。

补充

  • 除了完全手动搭一个spring boot,也可以采用其他很多方式。例如:
    1. 在sts中创建一个maven项目,选择maven-archetype-quickstart,然后根据需要去编辑pom.xml,编辑主类和配置文件。
    2. 在官方提供的自动生成器中生成:点这里;
    3. 其他方式。
  • 除了使用application.properties配置文件外,还可以使用application.yml文件。
    例如,在src/main/resources下创建文件夹config,在其下在创建application.yml文件,内容如下:
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程序似乎都能访问到,但是为了项目结构的标准型,务必合理部署。

相关文章

网友评论

  • d92d21ecc996:学习了,谢谢楼主,棒棒哒~~
    东方一号蓝: @浅浅不呢喃 谢谢!遇到问题,欢迎一起交流哈😊
  • 艾特不出先生:AngularJS去哪儿了?
    东方一号蓝: @艾特不出先生 在我的主页里找找吧。是(2)
  • Zqc张长老_:请问,还有下一片么,这里只是创建了springboot的项目呀???求教
    东方一号蓝:有的,去我的主页找一下。同名的
  • 阿奈:fine
  • 独钓寒江雪PHP之道:目前我的水平还处于初级阶段,我是个性格外向的人,不过就在这种情况下都产生了不想与行外人交流的念头,感觉共同话题很少,不过在一些省赛国赛中见识多各种人,认清自我,你的程序写的再好,你的产品没人用也是白费,以后会多多反省自己。
    东方一号蓝: @长流哥哥 你说的很对!能用产品经理的眼光去看待自己的每一个code,这是每一个程序员需要进阶的标准。我认为IT界对世界最大的贡献就是分享。所以,多交流多分享吧。

本文标题:从零开始构建一个spring boot + angular we

本文链接:https://www.haomeiwen.com/subject/hdrlyttx.html