Springboot2.0入门介绍
Springboot目前已经得到了很广泛的应用,why这么牛逼?
Springboot让你更容易上手,简单快捷的构建Spring的应用
Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。
内嵌了web项目
去掉了冗余复杂的XML配置哦
快速开发的框架,能够快速的整合第三发框架,简化XML配置,内置web容器。默认集成Spring MVC框架。Spring MVC是控制层
小伙伴们,赶紧来试试吧~~
1、创建一个maven工程,pom依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
由上可以看我们采用的是 最新版本的Springboot2.0
2、然后写个Java类
package toov5.controller; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @EnableAutoConfiguration public class HelloController { @RequestMapping("hello") public String index(){ return "hello world"; } public static void main(String[] args){ SpringApplication.run(HelloController.class, args); } }
3、启动之
然后输入:http://localhost:8080/hello
你会看到:
哇~ 是不是感觉到so easy呀~~ 开发起来666~
总结:
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中运行的。)
@RestController
在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口
@EnableAutoConfiguration
注解:作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置
这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
SpringApplication.run(HelloController.class, args);
标记项目的启动类
此外还有Spring Boot的其他启动方式要说明一下:
@ComponentScan(basePackages="com.toov5.controller") 表示要扫包的范围
另起一个类,作为启动类,通过这个注解去扫包
package com.toov5.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; @ComponentScan(basePackages="com.toov5.controller") @EnableAutoConfiguration public class App { public static void main(String[] args){ SpringApplication.run(App.class, args); } }
项目目录结构参考:
还有一个更牛逼的注解启动方式:
@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到
package com.toov5.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { public static void main(String[] args){ SpringApplication.run(App.class, args); } }
实现效果都是一样的~