1、创建一个Maven工程
2、pom文件引入依赖
<!-- 1.创建一个 Maven 工程,选择jar类型项目
2.引入 SpringBoot Maven 依赖-->
<!-- Maven parent 目的,聚合工程、有继承关系 -->
<!-- Spring 目的:统一整合第三方框架依赖信息(Spring Boot 的依赖,不需要写版本号) -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<dependencies>
<!-- SpringBoot 整合Web组件即:组合SpringMvc 就会把传统方式的SpringMVC 依赖的 jar 全部给下载下来-->
<!--
引入 spring-boot-starter-web 会帮你整合好所有相关的依赖 jar 包
原理:maven 依赖传递
-->
<!-- spring-boot-starter-parent 中 整合了相关 jar 信息 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
spring-boot-starter-parent作用
在 pom.xml 中引入 spring-boot-start-parent,提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了。
spring-boot-starter-web作用
springweb 核心组件
3、编写IndexController服务
/**
* 第一个 SpringBoot 项目
*
* 在微服务项目中,基本都在类上加上 @RestController
* @RestController = @Controller + @ResposeBody 联合注解
* RestController 修饰的类下所有的方法都是返回 json 格式,这样的话不要在方法上加上 @ResposeBody
*
* 思考:如何启动? 使用 main 启动
* @EnableAutoConfiguration 让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置
*/
@RestController
@EnableAutoConfiguration
public class IndexController {
@RequestMapping("/index")
public String index(){
return "xiaoming 这是我的一个 SpringBoot项目。分布式微服务相关知识";
}
public static void main(String[] args) {
//程序入口 默认端口 8080
SpringApplication.run(IndexController.class, args);
}
}
4、@RestController
在上加上 RestController 表示修饰该 Controller 所有的方法返回JSON格式,直接可以编写 Restful 接口
5、@EnableAutoConfiguration
作用:在于让 SpringBoot 根据应用所声明的依赖来对 Spring 框架进行自动配置
这个注解告诉 SpringBoot 根据添加的 jar 依赖猜测你想如何配置 Spring。由于 spring-boot-starter-web 添加了 Tomcat 和 SpringMVC,所以 auto-configuration 将假定你正在开发一个 web 应用并相应地对 Spring 进行设置。
6、SpringApplication.run(HelloController.class, args);
标识为启动类
7、SpringBoot启动方式 Springboot默认端口号为8080
在Controller 类上启动,如上 @ComponentScan(“com.xiaoming.day26.controller”) //控制扫包范围
@ComponentScan("com.xiaoming.day26.controller") //控制扫包范围
@EnableAutoConfiguration
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
@SpringBootApplication
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解
扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。