快速开发一个Spring boot程序步骤如下:
1、创建一个Spring boot项目;
1、可以采用方式一: 使用 eclipse 的 Spring Tool Suite (STS) 插件/或者 IDEA 自带的插件创建;
2、可以采用方式二:直接使用 Maven 创建项目的方式创建;
STS创建springboot项目
完成后项目的基本结构
IDEA创建springboot项目
2、在项目的pom.xml中加入Spring boot 的父级和起步依赖,如果已经有了就不需要加了;
进入SpringBoot的官网查看最新配置,这里仅做演示:https://spring.io/projects/spring-boot
1、父级依赖:
<!--继承父级依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/>
</parent>
2、起步依赖:加入Spring boot父级依赖可以简化我们项目的Maven配置;
<!--springboot web项目的起步依赖,不需要写版本号,从父级继承过来-->
<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>
</dependency>
3、创建Spring boot 的入口main方法加入Spring boot 的起步依赖也可以简化我们项目的Maven配置;
@SpringBootApplication public class SpringbootApplication { public static void main(String[] args) { // 启动springboot程序,启动spring容器和内置的tomcat SpringApplication.run(SpringbootApplication.class, args); } }
4、创建一个Spring mvc 的Controller【注意SpringbootApplication类必须放到控制器类的上级包或相同包下面】
@Controller public class HelloController { @RequestMapping("index.do") public @ResponseBody Object list(){ return "HI SpringBoot"; } }
5、运行Spring boot的入口main方法
通过eclipse、idea右键运行main方法;
6、浏览器访问 http://localhost:8080/index.do 默认不需要加项目名称
7、至此,第一个Spring boot程序开发完成;
第一个 Spring boot 程序解析
1、Spring Boot 的父级依赖spring-boot-starter-parent配置之后,当前的项目就是Spring Boot项目;
2、spring-boot-starter-parent是一个特殊的starter依赖,它用来提供相关的Maven默认依赖,使用它之后,常用的jar包依赖可以省去version配置;
3、Spring Boot提供了哪些默认jar包的依赖,可查看该父级依赖的pom文件;
4、如果不想使用某个默认的依赖版本,可以通过pom.xml文件的属性配置覆盖各个依赖项,比如覆盖Spring版本:
<properties> <spring.version>5.0.0.RELEASE</spring.version> </properties>
5、@SpringBootApplication 注解是Spring Boot项目的核心注解,主要作用是开启Spring自动配置;
注意:添加该注解的类的包级别必须等于或者大于其他的类的包级别,否则可能导致一些spring注解的类扫描不到的问题
6、main方法是一个标准的Java程序的main方法,主要作用是作为项目启动运行的入口;
7、@Controller 及 @ResponseBody 依然是我们之前的Spring mvc,因为Spring boot的里面依然是使用我们的Spring mvc + Spring + MyBatis 等框架;