目录

  1. Spring官方学习指南-第一篇(https://www.7benshu.com/post/2021/06/2217008c7af88e4d4eb4eca1478a59e1d5/ )

介绍

Spring是一个快速、简单、安全、企业级的Java的流行框架,Spring框架和收获的好处有很多的开箱即用的解决方案,而不用担心写大量的额外代码真的可以节省我们的时间和精力。

Spring的历史:

2004 年 03 月,1.0 版发布。

2006 年 10 月,2.0 版发布。

2007 年 11 月更名为 SpringSource,同时发布了 Spring 2.5。

2009 年 12 月,Spring 3.0 发布。

2013 年 12 月,Pivotal 宣布发布 Spring 框架 4.0。

2017 年 09 月,Spring 5.0 发布

无论您要构建什么,这些指南都是为了让您提高工作效率——使用 Spring 团队推荐的Spring技术。

快速开始 - RESTful Web服务

https://www.jhipster.tech/

如果你已经是一门老手了,可以看看生成的框架,因为具有非常高的学习价值和参考


创建一个使用Spring开发的RESTful的web服务

详细的说明和步骤请访问官方文档:https://spring.io/guides/gs/rest-service/

回顾点1

传统的MVC和API的一个很明显的区别是对响应体的创建方式不同,MVC是需要依赖视图引擎在服务器端做好对象渲染成HTML页面。 API是直接返回对象数据,通过JSON的格式写到HTTP的响应体中。 返回的对象使用MappingJackson2HttpMessageConverter自动转换JSON img

回顾点2

@RestController注解包含了@Controller,@ResponseBody,从源码就能看到

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {

    /**
     * The value may indicate a suggestion for a logical component name,
     * to be turned into a Spring bean in case of an autodetected component.
     * @return the suggested component name, if any (or empty String otherwise)
     * @since 4.0.1
     */
    @AliasFor(annotation = Controller.class)
    String value() default "";

}

img

回顾点3

@SpringBootApplication:一个很方便的注解,添加了以下几个注解

@Configuration:标记类是Bean的定义来源

@EnableAutoConfiguration:告诉Spring Boot加载Bean,例如类路径中有spring-webmvc,此注解会标记此应用是Web应用,并且会执行关键的操作(DispatcherServlet)

@ComponentScan:告诉Spring去查找组件、配置、服务.

main()方法使用SpringBoot的SpringApplication.run()方法来启动应用程序。应用程序的配置都是使用的Java代码,没有使用任何的XML,无需处理任何管道或基础设施的配置。

总结

代码地址:https://github.com/tangfei-china/SpringGuides/tree/main/rest-service