Spring官网学习记录贴

本帖用于记录根据Spring官网文档学习路程的记录。

Building a RESTful Web Service

文档URL

步骤

  1. 初始化Spring项目。
  2. 构建一个Greeting类,作用是用于输出序列化为JSON格式的内容。
  3. 构建一个Controller类,用于响应http请求。
  4. 启动服务,用对应的http GET请求,测试结果。

内容

实现一个Restful服务,通过http GET请求 http://localhost:8080/greeting 可以得到类似如下格式的响应:

{"id":3,"content":"Hello, World!"}

需要深入探索的内容

  • 为什么运行相应的Application类就可以启动Web服务。
  • 什么是SpringBoot启动器
  • @SpringBootApplication注解在启动Web服务中的作用。
  • @RestController注解的作用,为什么打了此注解请求就会映射到被其注解的类中。
  • @GetMapping注解的作用,为什么打了此注解可以实现相应的GET请求的功能。

相关博文

【转】SpringBoot启动器

【上下求索】SpringBoot启动源码解析

Accessing Relational Data using JDBC with Spring

文档url

步骤

1.初始化项目。

2.Application类实现CommandLineRunner接口,实现run()方法:

  • 创建一张H2数据表代码。
  • 借助String插入数据代码。
  • 查询数据代码。
  1. 运行程序,观察run()方法的执行结果。

内容

利用JdbcTemplate创建一张H2数据表,插入数据,查询数据。在terminal中观察结果。正常运行的结果如下。

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.2)

2021-01-31 15:47:02.754  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Starting AccessingWithJdbcApplication using Java 1.8.0_261 on 192.168.0.104 with PID 27045 (/Users/zhuzheqing/SpringStudy/accessing_with_jdbc/target/classes started by zhuzheqing in /Users/zhuzheqing/SpringStudy/accessing_with_jdbc)
2021-01-31 15:47:02.756  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : No active profile set, falling back to default profiles: default
2021-01-31 15:47:03.462  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Started AccessingWithJdbcApplication in 0.995 seconds (JVM running for 1.477)
2021-01-31 15:47:03.464  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Creating tables
2021-01-31 15:47:03.466  INFO 27045 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-01-31 15:47:03.610  INFO 27045 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-01-31 15:47:03.630  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Inserting customer record for John Woo
2021-01-31 15:47:03.630  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Inserting customer record for Jeff Dean
2021-01-31 15:47:03.630  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Inserting customer record for Josh Bloch
2021-01-31 15:47:03.630  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Inserting customer record for Josh Long
2021-01-31 15:47:03.644  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Querying for customer records where first_name = 'Josh':
2021-01-31 15:47:03.654  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Customer[id=3, firstName='Josh', lastName='Bloch']
2021-01-31 15:47:03.654  INFO 27045 --- [           main] t.z.a.AccessingWithJdbcApplication       : Customer[id=4, firstName='Josh', lastName='Long']
2021-01-31 15:47:03.658  INFO 27045 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2021-01-31 15:47:03.659  INFO 27045 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

Process finished with exit code 0

需要深入探索的内容

  • JdbcTemplate相关的理论和实现原理。
最后修改:2021 年 01 月 31 日 04 : 31 PM