zoukankan      html  css  js  c++  java
  • Spring boot 学习二:入门

    1: 需要的环境:

             JDK:至少JDK7才支持Spring boot

             maven:至少3.2 

             spring-boot:1.2.5.RELEASE(在pom.xml中指定)

    2: 创建一个maven工程:其中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/maven-v4_0_0.xsd">
    
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.xxx</groupId>
        <artifactId>myboot</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <!-- 
             引入spring-boot-starter-parent做parent是最好的方式,
             但是有时我们可能要引入我们自己的parent,此时解决方式有两种:
             1)我们自己的parent的pom.xml的parent设为spring-boot-starter-parent(没有做过验证,但是感觉可行)
             2)使用springboot文档中的方式:见spring-boot-1.2.5-reference.pdf的第13页
    --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.5.RELEASE</version> </parent> <!-- 引入实际依赖 --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <!-- 用于将应用打成可直接运行的jar(该jar就是用于生产环境中的jar) 值得注意的是,如果没有引用spring-boot-starter-parent做parent, 且采用了上述的第二种方式,这里也要做出相应的改动
    在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,
    使用“Java -jar”命令就可以直接运行。这在很大程度上简化了应用的部署,只需要安装了 JRE 就可以运行
    可以在POM中,指定生成 的是Jar还是War;
    你还可以指定要执行的类,如果不指定的话,Spring会找有这个【public static void main(String[] args)】方法的类,当做可执行的类。
    --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

    实际上,spring-boot-starter-web.jar这个jar引入5各方面的jar:

    • spring-boot的启动jar:spring-boot-starter.jar
    • tomcat相关jar(spring-boot-1.2.5-->tomcat8)
    • jackson
    • hiberbate-validator
    • spring相关jar(spring-boot-1.2.5-->spring4.1)

    使用 mvn clean compile 编译。

    3. FirstBoot.java

    package com.xxx.firstboot;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;

    /**
    * @RestController:spring mvcd的注解,
    * 相当于@Controller与@ResponseBody的合体,可以直接返回json
    *
    * @EnableAutoConfiguration:spring boot的注解
    * 是无配置启动的关键部分
    */
    @RestController
    @EnableAutoConfiguration
    public class FirstBoot {

    @RequestMapping("/hello")
    public String testFirstMethod(){
    return "Hello jigang!!!";
    }

    /**
    * spring boot的入口,在整个项目中,包括其子项目在内,
    * 只能有一个main方法,否则spring boot启动不起来
    */
    public static void main(String[] args) {
    SpringApplication.run(FirstBoot.class, args);
    }

    }

    4.  启动Spring boot

     首次启动,采用 “mvn spring-boot : run”(会下载一些东西)

     之后启动,直接在主类(含有main方法)上 run as --> java application

             之后在浏览器输入路径"http://localhost:8080/hello",输出信息"Hello jigang!!!",则成功!!!

    5:  打包:

          成可以执行的jar, 该jar将是在生产环境下可用的jar。

          生产jar的过程依赖于引入的spring-boot-maven-plugin.jar(所以pom.xml要配置这个)。

           执行"mvn package",查看target下的文件:可以生成jar包。

    6: 运行打包好的jar

            进入myboot文件夹下,执行命令"java -jar target/myboot-1.0-SNAPSHOT.jar",得出如下结果:

    之后访问浏览器即可。

    7:

    个问题:

    1)若不采用spring-boot-starter-parent做parent,该怎么配置?

    解决方案:

    加入以下代码即可。

    <dependencyManagement>
      <dependencies>
        <dependency>
    <!-- Import dependency management from Spring Boot -->
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-dependencies</artifactId>
          <version>1.2.5.RELEASE</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>


    复制代码
     1     <dependencyManagement>
     2         <dependencies>
     3             <dependency>
     4                 <!-- Import dependency management from Spring Boot -->
     5                 <groupId>org.springframework.boot</groupId>
     6                 <artifactId>spring-boot-dependencies</artifactId>
     7                 <version>1.2.5.RELEASE</version>
     8                 <type>pom</type>
     9                 <scope>import</scope>
    10             </dependency>
    11         </dependencies>
    12     </dependencyManagement>
    复制代码

    完整的pom.xml

             

  • 相关阅读:
    [原创]利用Browser协议探测内网主机操作系统版本(无需端口无视防火墙)
    [EXP]Microsoft Windows 10 (Build 17134)
    [EXP]Microsoft Windows
    [EXP]Apache Spark
    [EXP]Adobe ColdFusion 2018
    [EXP]ThinkPHP 5.0.23/5.1.31
    [EXP]Cisco RV110W
    [EXP]Huawei Router HG532e
    [EXP]Microsoft Windows CONTACT
    [EXP]Microsoft Windows 10
  • 原文地址:https://www.cnblogs.com/liufei1983/p/7739915.html
Copyright © 2011-2022 走看看