废话前言:
过去几天工作效率极慢,除了个人原因之外,更重要的是一直没能解决maven和IDEA版本之间依赖的问题,整个人也比较低迷,不过好在问题解决了,心情也愉快了些,现在中午到了Hello World这一步了(原谅废柴小白的我。。。)
言归正传
环境:
jdk 1.8
IDEA 2017.2.7
maven 3.3.9
Spring Boot 1.5.9.RELEASE
差不多就这些了。
一直听说Spring Boot项目的简历特简单,今天就看一下。
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.springboot.lyy</groupId>
<artifactId>SpringBoot-HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- 这个插件,可以将应用打包成一个可执行的jar包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
其中我们一块块的说:
1.父项目
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
这个父项目是spring boot中所有starter的父项目,Spring Boot就是通过这个父项目来管理该应用中所有的依赖版本。
以后我们导入依赖默认是不需要写版本的。
当然没有在这个父项目中管理的版本自然需要自行写在dependencies标签中。
2.启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter-web:
spring-boot-starter:可以理解为是一个场景启动器,它帮我们导入了web模块正常运行所依赖的组件;
Spring Boot将所有的功能场景都抽取出来,做成一个个的Starters(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。
3.编写Controller类
package com.atguigu.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@ResponseBody
@RequestMapping(value = "/hello")
public String hello(){
return "Hello World";
}
}
4.编写主程序
package com.atguigu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
*/
@SpringBootApplication
public class HelloWorldMainApplication {
public static void main(String[] args) {
//Spring应用启动起来
SpringApplication.run(HelloWorldMainApplication.class, args);
}
}
记得用@SpringBootApplication标注主程序类,在调用SpringApplication的run方法使整个项目跑起来。
run方法参数中指定的类必须是被@SpringBootApplication标注的类。
反之被@SpringBootApplication标注的类一定是整个Spring Boot应用的主配置类,Spring Boot就应该运行这个类的main方法来启动Spring Boot应用。
5.打包
<!-- 这个插件,可以将应用打包成一个可执行的jar包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
导入这个插件,
点击屏幕左下角
使屏幕右闭出现Maven Project——>你的项目——>Lifecycle——>package
项目就会自动打为一个可执行的jar包,再使用java -jar命令执行即可。
语言组织能力有限,先凑合看,日后再有心得会补全,加油加油加油!!!