一、 手动实现
eclipse下载成功spring tool suite(STS)插件后可以使用
如果使用idea旗舰版开发,则自带了springboot所需要的插件。
1、springboot项目的创建
(1)、创建项目会自动生成两个文件
SpringbootApplication.java也就是 项目名字+Application.java,这个类将用于启动springboot项目
ServletInitializer.java是一个用来配置web服务器的类,如果使用内置的tomcat服务器,则不需要这个类。
(2)、static目录,用于存放springboot所支持的模版类项目所需要的静态资源。
(3)、templates模版文件存放目录(例如:Thymeleaf模版文件,spring官方推荐用来代替jsp的模版文件。)
(4)、Help.md 帮助文件,说明参考文件指南。
(5)、mvnw, linux系统下打包运行的shell脚本,mvnw.cmd,对应是windows下的bat脚本。
2、pom.xml文件介绍
<!-- springboot开发web项目的起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot开发web项目的起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 内嵌的tomcat的起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- springboot提供的项目编译打包的maven插件,是有springboot提供的。 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
3、main方法入口启动类
package com.chen.spring;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication //说明当前项目是一个springboot项目
public class Application { //此处名字已经被我手动改过。
public static void main(String[] args) {
// 启动springboot程序,启动spring容器,启动内置的tomcat容器
SpringApplication.run(Application.class, args);
}
}
4、核心控制器
package com.chen.spring.action;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloWorldAction {
@ResponseBody
@RequestMapping("/hello")
public String hello() {
return "hello Spring 大爷你好";
}
}
注意:当前Controller必须在Springboot01Application.java的同级或者下级包中。
二、程序的解析
1、springboot的父级依赖spring-boot-starter-parent配置之后,就相当于继承了这个项目,所以当前项目也就是一个springboot项目;
2、spring-boot-starter-parent是一个特殊的servlet依赖,他用来提供相关的maven默认依赖,使用他之后,常用的jar包就可以省去version的配置。
3、springboot通过查看父级项目的pom文件,了解依赖了哪些jar包。
4、如果不想使用默认配置的某个版本,可以在本项目中配置自己的依赖,用来重写依赖。这个也符合java的继承原则。
<properties>
<spring.version>5.0.0-release</spring.version>
</properties>
5、@SpringBootApplication注解是springboot项目的核心注解,主要作用是开启spring自动配置。
6、main方法是一个标准的java程序的main方法,主要作用是作为项目启动运行的入口。
7、@Controller以及@ResponseBody依然是springMVC的注解,因为springboot用的底层依然是Spring+springMVC+myBatis等框架组合。