• 创建springboot工程


    一、使用骨架创建maven的java工程

     File→New→Project,左侧选择maven,勾选Create from archetype,archetype为原型的意思。

     选择maven-archetype-quickstart,它是IDEA为maven提供好的创建java工程的骨架。点击next

    点击next

     

     点击next

     点击finish,点击enabel auto-import

    目录结构如下:

     发现目录结构不完整,需要手动补齐resources目录。选中main,右键,New,Directory,输入名字resources.

     发现已经识别resources目录为资源目录。

    二、不使用骨架创建maven的Java工程

      File→New→Project,左侧选择maven,不勾选Create from archetype,

     

     点击next

     点击next

     点击finish,点击enabel auto-import

    目录结构如下:

     创建Java工程推荐使用这种方式。

    三、使用骨架创建maven的web工程

      File→New→Project,左侧选择maven,勾选Create from archetype,

     选择maven-archetype-webapp,点击next

     点击next

     点击next

     点击finish,点击Enable auto-import

    目录结构如下:

     发现main目录下没有Java文件,手动添加src/main/java,选择main右键→new→Directory→创建一个新的文件夹命名为java→ok

     发现不是源码根目录,选择java,右键→mark directory as→sources root

     四、使用SpringBoot搭建一个web工程

    1、不使用骨架创建maven的java工程

    注意:搭建web工程,不使用骨架创建maven的Java工程即可,不需要创建maven的web工程

    File→new→project

     左侧选择maven,不勾选create from archetype,点击next

     点击next

    点击finish

    Settings配置maven。

     2、添加父工程坐标和添加web启动器

    现在我们的项目与Spring Boot还没有什么关联。

    Spring Boot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖(并非全部)的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标即可!

    <?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>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.0.RELEASE</version>
        </parent>
    
        <groupId>com.zwh</groupId>
        <artifactId>zwh-springboot</artifactId>
        <version>1.0-SNAPSHOT</version>
    
    
    </project>

    注意:所有的springboot工程都必须继承spring-boot-starter-parent

    为了让Spring Boot帮我们完成各种自动配置,我们必须引入Spring Boot提供的自动配置依赖,我们称为 启动器 。因为我们是web项目,这里我们引入web启动器,在 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>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.0.RELEASE</version>
        </parent>
    
        <groupId>com.zwh</groupId>
        <artifactId>zwh-springboot</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
    </project>

    3、创建启动类

    选择Java,右键→new→java class

     点击ok

    @SpringBootApplication
    public class MySpringBootApplication {
        public static void main(String[] args) {
            SpringApplication.run(MySpringBootApplication.class);
        }
    }

    启动项目,控制台打印如下日志

    Tomcat started on port(s): 8080 (http) with context path ''

    端口为8080,web应用的名称是空的,即访问时不需要加应用的名称就可以访问到工程。

     浏览器访问http://localhost:8080/,如下所示

     表示服务器访问成功,否则会报一个找不到服务器的错误。

    现在是能找到服务器,只是没有响应页面。

     4、编写controller

    @RestController
    public class QuickController {
        @GetMapping("/hello")
        public String quick(){
            return "hello springBoot";
        }
    }

    浏览器访问:http://localhost:8080/hello,结果如下:

    5、springboot工程的热部署

    我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间,我们可以在修改代码后不重启就能生效,在 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>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.0.RELEASE</version>
        </parent>
    
        <groupId>com.zwh</groupId>
        <artifactId>zwh-springboot</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--热部署配置-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
            </dependency>
        </dependencies>
    
    </project>

    注意:IDEA进行SpringBoot热部署失败原因

    出现这种情况,并不是热部署配置问题,其根本原因是因为Intellij IEDA默认情况下不会自动编译,需要对IDEA进行自动编译的设置,如下:

     然后 Shift+Ctrl+Alt+/,选择Registry

     

    6、创建配置文件application.properties

    server.port=8888
    server.servlet.context-path=/demo

    浏览器访问:http://localhost:8888/demo/hello,结果如下:

     7、项目根目录下添加.gitignore文件

    HELP.md
    target/
    !.mvn/wrapper/maven-wrapper.jar
    !**/src/main/**/target/
    !**/src/test/**/target/
    
    ### STS ###
    .apt_generated
    .classpath
    .factorypath
    .project
    .settings
    .springBeans
    .sts4-cache
    
    ### IntelliJ IDEA ###
    .idea
    *.iws
    *.iml
    *.ipr
    
    ### NetBeans ###
    /nbproject/private/
    /nbbuild/
    /dist/
    /nbdist/
    /.nb-gradle/
    build/
    !**/src/main/**/build/
    !**/src/test/**/build/
    
    ### VS Code ###
    .vscode/

     五、IDEA快速创建springboot工程

     File→new→project,左边选择spring initializer

     点击next

      点击next,左侧选择web,再勾选spring web

       点击next

     点击finish。

     目录结构如下:

  • 相关阅读:
    马氏距离的深入理解
    Mahalanobis Distance(马氏距离)
    Weka EM 协方差
    数据挖掘、概率分析与决策支持
    二、 Android中gravity与layout_gravity的区别
    一、 Android完全退出应用程序
    python configparse
    时间戳与时间互转
    python argparse
    时间插件
  • 原文地址:https://www.cnblogs.com/zwh0910/p/15484263.html
Copyright © 2020-2023  润新知