zoukankan      html  css  js  c++  java
  • 第一个spring boot应用

    前提

    首先要确保已经安装了java和maven:

    $ java -version
    java version "1.8.0_102"
    Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
    $ mvn -v
    Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
    Maven home: /usr/local/Cellar/maven/3.3.9/libexec
    Java version: 1.8.0_102, vendor: Oracle Corporation

    创建POM

    需要创建Maven的pom.xml文件,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>myproject</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.0.BUILD-SNAPSHOT</version>
        </parent>
    
        <!-- Additional lines to be added here... -->
    
        <!-- (you don't need this if you are using a .RELEASE version) -->
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <url>http://repo.spring.io/snapshot</url>
                <snapshots><enabled>true</enabled></snapshots>
            </repository>
            <repository>
                <id>spring-milestones</id>
                <url>http://repo.spring.io/milestone</url>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>spring-snapshots</id>
                <url>http://repo.spring.io/snapshot</url>
            </pluginRepository>
            <pluginRepository>
                <id>spring-milestones</id>
                <url>http://repo.spring.io/milestone</url>
            </pluginRepository>
        </pluginRepositories>
    </project>

    此时就可以将项目导入IDE了。

    添加Classpath依赖

    Spring Boot提供了一些“Starters”让用户将jar包添加到classpath。上面给出的样例已经包含了spring-boot-starter-parent依赖。

    因为我们要开发一个WEB应用,所以引入spring-boot-starter-web依赖。在加入之前我们可以通过如下命令来看现在已经有哪些依赖:

    $ mvn dependency:tree
    
    [INFO] com.example:myproject:jar:0.0.1-SNAPSHOT

    mvn dependency:tree命令将项目的依赖以树的形式表现出来,可以看到spring-boot-starter-parent自身并不提供依赖。

    将spring-boot-starter-web依赖添加到pom.xml文件的parent部分:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    写代码

    创建src/main/java路径,添加Example.java到路径中:

    import org.springframework.boot.*;
    import org.springframework.boot.autoconfigure.*;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @EnableAutoConfiguration
    public class Example {
    
        @RequestMapping("/")
        String home() {
            return "Hello World!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(Example.class, args);
        }
    
    }

     @RestController and @RequestMapping 注解

    例子中的第一个注解是@RestController,Spring通过该注解知道这个类扮演某个具体的角色。

    我们的类是一个Web @Controller,所以Spring认为它处理Web请求。

    @RequestMapping提供路由信息,它告诉Spring所有以/为路径的HTTP请求都应该被映射到home方法。

    @RestController告诉Spring将结果字符串传递给调用者

    @EnableAutoConfiguration注解

    告诉Spring通过你的依赖来猜测你要开发什么样的应用,因为spring-boot-starter-web添加了tomcat和Spring-MVC,

    auto-configuration推断你要开发一个Web应用,并相应的建立Spring。

    The“main” Method

    main方法通过调用run代理了Spring Boot的SpringApplication

    运行程序

    $ mvn spring-boot:run
    
      .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _    
    ( ( )\___ | '_ | '_| | '_ / _` |    
     \/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::  (v2.0.0.BUILD-SNAPSHOT)
    ....... . . .
    ....... . . . (log output here)
    ....... . . .
    ........ Started Example in 2.222 seconds (JVM running for 6.514)

    然后访问localhost:8080

    创建可执行jar包

    为了创建可执行jar包,需要将spring-boot-maven-plugin加入到pom.xml中(添加到dependency部分下面):

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

    保存pom.xml,运行mvn package:

    $ mvn package
    
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building myproject 0.0.1-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] .... ..
    [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
    [INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
    [INFO]
    [INFO] --- spring-boot-maven-plugin:2.0.0.BUILD-SNAPSHOT:repackage (default) @ myproject ---
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------

    现在打开target目录,会有myproject-0.0.1-SNAPSHOT.jar.original文件和myproject-0.0.1-SNAPSHOT.jar文件。

    最后可以通过java -jar运行。

  • 相关阅读:
    LODOP中用ADD_PRINT_IMAGE缩放非图片超文本
    LODOP关联,打印项序号注意事项
    LODOP在页面让客户选择打印机
    【JS新手教程】LODOP打印复选框选中的任务或页数
    映美FP-530K+打印发票的各种经验
    【JS新手教程】LODOP打印复选框选中的内容
    LODOP和C-LODOP注册与角色等简短问答【增强版】
    【JS新手教程】弹出两层div,及在LODOP内嵌上层
    LODOP内嵌挡住浏览器的div弹出层
    【JS新手教程】浏览器弹出div层1
  • 原文地址:https://www.cnblogs.com/jugglee/p/8036354.html
Copyright © 2011-2022 走看看