• 第一章 springboot+maven


    环境:

    • jdk:1.8.0_73
    • maven:3.3.9
    • spring-boot:1.2.5.RELEASE

    注意:关于spring-boot的支持,

    • 最少使用jdk7(jdk6也可以,可能需要额外配置,官方推荐jdk8)
    • maven至少使用3.2

    一、手工构建mvn项目

    创建的目录结构:

    二、引入依赖:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     4 
     5     <modelVersion>4.0.0</modelVersion>
     6 
     7     <groupId>com.wn</groupId>
     8     <artifactId>weibo2</artifactId>
     9     <version>1.0-SNAPSHOT</version>
    10 
    11     <!-- 引入spring-boot-starter-parent做parent是最好的方式,其最大作用是可以省去声明依赖时的版本号 但是有时我们可能要引入我们自己的parent,此时解决方式有两种: 
    12         1)我们自己的parent的pom.xml的parent设为spring-boot-starter-parent(没有做过验证,但是感觉可行) 2)使用springboot文档中的方式:见spring-boot-1.2.5-reference.pdf的第13页 -->
    13     <parent>
    14         <groupId>org.springframework.boot</groupId>
    15         <artifactId>spring-boot-starter-parent</artifactId>
    16         <version>1.2.5.RELEASE</version>
    17     </parent>
    18     <!-- 引入实际依赖 -->
    19     <dependencies>
    20         <dependency>
    21             <!-- 不需要任何web的相关配置,就支持web服务 -->
    22             <groupId>org.springframework.boot</groupId>
    23             <artifactId>spring-boot-starter-web</artifactId>
    24         </dependency>
    25     </dependencies>
    26 
    27     <build>
    28         <plugins>
    29             <!--运行springboot的插件,可用于将项目打成可直接运行的jar,包括把应用程序的所有依赖打入jar内(该jar就是用于生产环境中的jar) 
    30             其中的内容,可以用java -jar来运行,值得注意的是,如果没有引用spring-boot-starter-parent做parent, 且采用了上述的第二种方式,
    31             这里也要做出相应的改动 -->
    32             <plugin>
    33                 <groupId>org.springframework.boot</groupId>
    34                 <artifactId>spring-boot-maven-plugin</artifactId>
    35             </plugin>
    36         </plugins>
    37     </build>
    38 </project>
    View Code

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

    • spring-boot的启动jar:spring-boot-starter.jar
    • tomcat相关jar(spring-boot-starter-tomcat)
    • jackson
    • hiberbate-validator
    • spring相关jar(spring-core和spring-web)
    • 如果想要取证,可以通过maven depenency:tree对比加入spring-boot-starter-web前后的依赖树

    注:在使用终端命令mvn clean install前,在目录src/main/java中必须有一个XxxApplication.java文件,否则编译失败。

    这里引入官方的例子:WeiboApplication.java如下:

     1 package com.weibo2;
     2 
     3 import org.springframework.boot.SpringApplication;
     4 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
     5 import org.springframework.web.bind.annotation.RequestMapping;
     6 import org.springframework.web.bind.annotation.RestController;
     7 
     8 /*
     9  * @RestController是spring mvc的注解,相当于@Controller和@ResponseBody的合体,可以直接返回json
    10  * @EnableAutoConfiguration是springboot的注解,无配置启动的关键
    11  */
    12 @RestController
    13 @EnableAutoConfiguration
    14 public class WeiboApplication {
    15     @RequestMapping("/sayHi")
    16     public String sayHi() {
    17         return "Hi";
    18     }
    19 /*
    20  * spring boot的入口,在整个项目中,包括其子项目在内,只能有一个main方法,否则spring boot启动不起来
    21  */
    22     public static void main(String[] args) {
    23         SpringApplication.run(WeiboApplication.class, args);
    24     }
    25 }
    View Code

    引入eclipse后的项目结构:

    三、运行程序

    1、通过终端命令:mvn spring-boot:run

    2、在主类(含有main方法的类)上"run as-->java application"

    3、配置mvn运行路径

    项目启动后,在浏览器中输入:http://localhost:8080/sayHi,会打印出Hi,成功。

  • 相关阅读:
    可扩展设计的三个维度
    今天用批处理脚本遇到的两个问题
    响应式编程学习记录
    ThreadLocal使用注意
    JDK8 函数式接口
    Java多线程相关的常用接口
    java异步编程
    java多线程同步器
    paramiko获取远程主机的环境变量
    python为不同的对象如何分配内存的小知识
  • 原文地址:https://www.cnblogs.com/wangna----558169/p/6184361.html
Copyright © 2020-2023  润新知