下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

3分钟打造RestAPI+pringBoot 快速入门,收藏了

作者:编程仔日常     来源: 今曰头条点击数:1218发布时间: 2019-11-22 16:03:56

标签: Oracle 视频Oracle 视频课程Oracle 课程

  一、SpringBoot 五大特性,我们一起看看,

  1.座靠spring (颠覆传统)

  2.内嵌Tomcat(无需外部署)

  3.提供各种Starter (开箱即用 +简化依赖 )

  4.提供自动配置 ( 妈妈再也不用担我写错配置了)

  5.告别XML (实现约定大于配置 ) 高级传送门:SpringBoot 官方参考指南

  二、SpringBoot 快速入门

  1.搭建开发环境

  JDk版本:Oracle JDK 1.8+

  构建工具:Apache Maven 3.3.0+ (bin.zip)

  开发工具:IntelliJ IDEA 2017.2.6 / Eclipse 4.2+

  2.创建第一个工程

  使用官方推荐的 Spring Initializr 工具来构建第一个SpringBoot工程,按步骤选择Web依赖和填写信息之后,创建工程成功,如下图:

  

3分钟打造RestAPI+pringBoot 快速入门,收藏了_

 

  你可能会好奇:

  为什么没有web.xml?

  为什么没有applicationContext.xml?

  为什么没有webapp目录?

  为什么多了HelloWorldApplication?

  为什么多了application.properties?

  先别急,咱们先从简单的搭建流程入手,答案在最后进行揭晓。

  3.POM依赖管理

  打开工程的POM文件,查看继承信息和相关依赖。

  spring-boot-starter-parent 作为父工程,提供SpringBoot和Spring的相关依赖定义。

  spring-boot-starter-web 引入Web和WebMvc的相关依赖。

  org.springframework.boot spring-boot-starter-parent 1.5.6.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test

  4.编写RestAPI 输出HelloWorld

  Spring Initializr 已经默认帮我们创建了启动类,这里我们只需添加@Controller 和编写相关RestAPI即可。

  @SpringBootApplication@Controller public class SpringbootHelloworldApplication { @GetMapping("/") @ResponseBody public String index() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(SpringbootHelloworldApplication.class, args); //启动项目 }

  5. 启动项目

  在上面的启动类中,右键选择Run SpringbootHelloworldApplication ,查看控制台如下:

  

 

  6.单元测试

  @RunWith(SpringRunner.class)@SpringBootTest@AutoConfigureMockMvc //开启MockMvcpublic class SpringbootHelloworldApplicationTests { @Autowired private MockMvc mockMvc; //注入MockMvc @Test public void testHelloController() throws Exception { mockMvc.perform(get("/")) //请求方式+地址 .andDo(print()) //打印效果 .andExpect(status().isOk()) //预期状态 .andExpect(content().string(containsString("Hello World"))); }}

  三、快速答疑

  为什么没有XML?

  回答:回顾传统Spring项目,我们需要先后配置web/spring/mvc等XML配置文件。而SpringBoot则不需要XML,只需借助注解和启动类就能启动项目。这背后得益于SpringBoot自动配置的构建原理,例如我们在POM文件引入了Web依赖,则项目在启动的时候检测到ClassPath存在Web依赖,就会自动执行WEB环境初始化,轻松完成SpringMVC初始化。

  为什么没有webapp目录?

  回答:SpringBoot使用Resources目录放置静态文件和动态资源。比如static目录可以直接读取CSS/JS/IMG等静态资源,而templates目录可以直接读取动态模板,例如Thymeleaf 和 FreeMarker 等。不过值得注意的是,如果工程项使用War类型进行打包,则必须创建webapp目录,更多细节请戳《SpringBoot 工程结构说明》。

  application.properties / application.yml 是什么?

  回答:这是SpringBoot项目的核心配置文件,更多细节请阅读《SpringBoot 配置文件详解 》。

  HelloWorldApplication 是什么?

  回答:作为项目的启动类,添加Main方法作为启动入口,并添加@SpringBootApplication 便携式启动注解。

  @SpringBootApplication 主要包含三大组件:

  @EnableAutoConfiguration 开启自动配置.

  @ComponentScan 开启组件扫描 例如@Controller,@Service等.

  @Configuration 标记配置类 例如制定方法为上下文提供Bean.今天内容就是这些了,我们明天见。

赞(13)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程