1、创建mave工程(jar)
2、pom文件引入依赖
<!--引入父依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <dependencies> <!--SpringBoot web 组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <!--这个插件,可以将应用打包成一个可执行的jar包 可选--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
spring-boot-starter-parent作用
在pom.xml中引入spring-boot-start-parent,spring官方的解释叫什么stater poms,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。
spring-boot-starter-web作用
springweb 核心组件
spring-boot-maven-plugin作用
如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven 的spring-boot:run的话是不需要此配置的。(我在测试的时候,如果不配置下面的plugin也是直接在Main中运行的。)
将这个应用打成jar包,直接使用java -jar的命令进行执行;
3、编写相关Controller
@RestController public class HelloConotroller { @RequestMapping("/index") public String index(){ return "hell world"; } }
4、编写一个主程序;启动Spring Boot应用
/** * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用 */ @SpringBootApplication public class HellStartMain { public static void main(String[] args) { //spring启动起来 SpringApplication.run(HellStartMain.class); } }
5、运行主程序测试
6、简化部署
<!--这个插件,可以将应用打包成一个可执行的jar包 可选--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
将这个应用打成jar包,直接使用java -jar的命令进行执行;
7、相关注解
1、 @RestController
在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口
2、@EnableAutoConfiguration
注解:作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置 这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。
由于spring-boot-starter-web添加了Tomcat和 Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
@ComponentScan(basePackages = "com.yehui")控制器扫包范围
8、启动方式
1、 SpringBoot启动方式1
spring boot默认端口是8080
@RestController @EnableAutoConfiguration public class HelloController { @RequestMapping("/hello") public String index() { return "Hello World"; } public static void main(String[] args) { SpringApplication.run(HelloController.class, args); } }
启动主程序,打开浏览器访问http://localhost:8080/index,可以看到页面输出Hello World
2、SpringBoot启动方式2
@ComponentScan(basePackages = "com.itmayiedu.controller")---控制器扫包范围
@ComponentScan(basePackages = "com.itmayiedu.controller") @EnableAutoConfiguration public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
3、SpringBoot启动方式3
@SpringBootApplication
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解
扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。