美文网首页java后台
SpringBoot系列—Hello World(一)

SpringBoot系列—Hello World(一)

作者: 海晨忆 | 来源:发表于2019-08-22 13:55 被阅读0次

    个人博客:haichenyi.com。感谢关注

      终于要正式开始了java后台之路,虽然,之前断断续续的看过过黑马的java web视频,但是,都是好几年前的视频,很老了,感觉用处比较大的就是MySQL数据库操作,之前也写过几篇关于MySQL数据库操作的博客。目前,java后台最火的框架就属Spring Boot了。它是spring家族的衍生框架,并不是加强某个功能,它是为了简化配置,提高开发效率。

    Spring Boot概要

    Spring Boot 介绍

      随着动态语言的流行(Ruby,Node.js等等),java作为静态语言,他的开发显得格外的笨重;繁多的配置、低效的开发效率、复杂的部署流程以及第三方技术整合难度大。

      在上述环境下,Spring Boot由此诞生,它的设计是为了尽快的启动和运行。它使用"习惯优于配置"(就是Spring Boot初始化了大量的配置,让你可以无需配置就能直接运行,当然,你也可以更改)的理念让你的项目快速的运行起来。并且,使用Spring Boot可以让你很容易创建一个独立运行(运行jar,内嵌servlet容器即Tomcat)、准生产力强的基于spring的项目。

    Spring Boot 优点

    1. 快速构建spring项目
    2. 无需依赖外部servlet容器即Tomcat,应用无需打成WAR包;项目可以打成Jar包直接运行
    3. 提供一系列的 start pom来简化maven的依赖加载
    4. 无需配置XML,开箱即用,简化开发,同时也可以修改默认值来满足特定需求
    5. Spring Boot并不是对Spring功能上的加强,而是提供了一种快速使用Spring的方式
    6. 极大的提高了开发和部署效率

    Spring Boot 入门开发

    环境要求

      每一个版本的Spring Boot,对系统的环境要求都不一样。我这里用的Spring Boot 2.1.7版本,它需要的

    • jdk8,兼容12
    • Maven 3.3+

    修改Maven配置文件

      首先,你需要先下载Maven,然后安装。找到安装目录下的config文件夹,点进去找到setting.xml配置文件,进行如下修改

    <!--开始处更改下载依赖的存放路径, 以下目录需要已经创建-->
    <localRepository>D:\apache-maven-3.6.1\repository</localRepository>
    
    <!--在 mirrors 标签下 添加阿里云maven私服库-->
      <mirrors>
        <id>nexus-aliyun</id>    
        <name>nexus-aliyun</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>    
        <mirrorOf>central</mirrorOf>  
      </mirrors>
      
      <!--在 profiles 标签下指定jdk版本-->
    <profiles>  
        <profile>
            <id>jdk-1.8</id>
    
            <activation>
                <activeByDefault>true</activeByDefault> 
                <jdk>1.8</jdk>
            </activation>
    
            <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
            </properties>
        </profile>
    </profiles>  
    

    修改IDEA配置

    IDEA配置.png

      如上图,我们打开IDEA的setting界面,找到MAVEN,在Maven Home Directory这一栏选择,我们刚才Maven安装的路径,当这一栏选好之后,第三栏的本地仓库路径会自动修改,然后,我们修改第二栏,选择我们上面修改的setting.xml文件。这样修改完成之后,我们maven项目在线依赖的库都存放在我们自己定义的存放文件夹下面。

    创建SpringBoot项目

      这里创建的是Maven项目,然后嵌入SpringBoot框架,这样你就不会因为直接创建SpringBoot项目生成的文件不知道是干什么用的造成的困惑。创建Maven项目之后的项目结构,如下图:

    Maven项目结构图.png

      如上图,有三个文件夹和一个pom.xml文件。

    • java文件夹:存放java代码
    • resources文件夹:存放资源文件
    • test文件夹:单元测试
    • pom.xml:依赖库

      Maven项目会自动帮我们创建pom.xml文件,不用我们手动创建,我们先在pom.xml文件下添加如下依赖:

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.7.RELEASE</version>
        </parent>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    

      关于这个我想说的就是,spring-boot-starter-parent是一个父级依赖,它是一个特殊的starter,这个依赖提供了常用的SpringBoot依赖库,使用它之后,我们SpringBoot常用库就不需要指定Version,这样,我们就避免了冲突,不兼容等问题。之前Android项目总是碰到依赖包冲突,这一点SpringBoot很nice。

      添加完成这两个之后,我们就可以创建controller,也就是接口了。

    package com.haichenyi.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
        @RequestMapping(value = "/hello", method = RequestMethod.POST)
        public String hello() {
            return "hello world!";
        }
    }
    

      我这里类用@RestController注解标明,你也可以用@Controller,当你用@Controller的时候,你的方法上面还要加另外一个注解@ResponseBody。

      再就是方法名称,在你的方法上面加@RequestMapping,里面的value值就是你的接口名称,后面的method就是你需要访问接口的方式。

      再就是最后一步,创建一个引导类,它的主要作用就是启动我们的SpringBoot项目。

    package com.haichenyi;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class HelloApplication {
        public static void main(String[] args) {
            SpringApplication.run(HelloApplication.class, args);
        }
    }
    
    

      到这里,我们就完成了,我们最后看一下项目结构图:

    项目结构图.png

    PS:在这里,我们需要注意的是我们这个启动类最好放在最外层的包下面,因为这个启动类在启动的时候,会加载它这个包下面及其所有子包下面所有组件到spring容器中统一管理,你如果把这个启动类写在其它包下面,有可能就加载不到有的组件。

      启动项目,不用我们手动部署到Tomcat,我们直接点击这个启动类的main方法,左边的启动按钮,run application就可以了。

      最后,请求接口,因为,我这里定义的方式是post请求,所以,不能直接浏览器访问,你也可以把这个方式去掉,就可以了。

    //http协议+ip+port+接口名
    http://localhost:8080/hello
    

    项目打jar包

    添加依赖

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

      选择项目右边的Maven—moudle名称—Lifecycle—package—run maven build即可。如下图:

    打jar包.png jar包路径.png

      然后,在控制台找到这个jar的路径,在我们的DOS命令界面用如下命令运行,即可:

    java -jar 刚才打好的jar包全名称包括后缀名
    

    相关文章

      网友评论

        本文标题:SpringBoot系列—Hello World(一)

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