Spring boot入门教程

作者: AKyS佐毅 | 来源:发表于2018-01-05 18:25 被阅读342次

1、Spring Boot简介

  • Spring Boot是用来简化Spring应用初始搭建以及开发过程的全新框架,被认为是Spring MVC的“接班人”。

  • 简化配置,化繁为简。

  • 备受关注,是下一代框架。

  • 微服务的入门级微框架。

  • 从Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean,现在我们就处于这个时代,并且Spring4.x和Spring boot都推荐使用java配置的方式。

  • Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。

SpringBoot和SpringMVC关系 Google五年来的两个框架搜索热度对比
  • @Configuration 和 @Bean
    • Spring的Java配置方式是通过 @Configuration 和 @Bean 这两个注解实现的:
    • 1、@Configuration 作用于类上,相当于一个xml配置文件;
    • 2、@Bean 作用于方法上,相当于xml配置中的<bean>;

2、搭建开发环境

  • 1:在File菜单里面选择 New > Project,然后选择Spring Initializr,接着如下图一步步操作即可。
  • 2:根据上面的操作并点击Next.得到初始化的一个Spring Boot的框架了,项目结构如下:


  • 3:运行程序。选择 SpringbootApplication右键选择 run即可。
  • 4:运行结果如下
  • 5:创建控制器Controller.

3、配置属性

方法一:
1:创建application.yml文件

2:在控制器中使用该属性

3: 运行结果如下:

方法二:只用写一次的方法,把配置分组。

  • 动态设置不同环境下配置不同的问题

    创建开发环境的属性配置文件和生产环境的配置文件

4、Controller控制器的使用

  • @RestController:表示该类为Controller,并且提供Rest接口,即所有接口的值以Json格式返回。该注解其实是@Controller@ResponseBody的组合注解,便于我们开发REST API
  • @RequestMapping@GetMapping@PutMapping:表示接口的URL地址。标注在类上的@RequestMapping注解表示该类下的所有接口的URL都以/product开头。@GetMapping表示这是一个Get HTTP接口,@PutMapping表示这是一个Put HTTP接口。
  • @PathVariable@RequestBody:表示参数的映射关系。假设有个Get请求访问的是/product/123,那么该请求会由getProductInfo方法处理,其中URL里的123会被映射到productId中。同理,如果是Put请求的话,请求的body会被映射到newProduct对象中。

单纯使用@Controller,需要配合模版来使用

在resources包下创建模版文件

运行结果:


最后不推荐这种方式,只需要了解就可以了。现在都是前后端分离的方式。

其实RestController相当于ResponseBody和Controller的共同作用

5、 ResustMapping使用

运行结果:

6、获取参数和注解

当请求的url含参数时 127.0.0.1:8081/hello/say/10

当请求的url中是 127.0.0.1:8081/hello/say?id=100

在单个参数的情况下,这样写完全没问题。但是当参数比较多的时候,就需要创建对象的方式来获取参数的值了。这样做更加优雅一些

在一个查询接口中,需要的参数比较多,如果还是使用GET方式进行请求的话,那么,Controller 中的方法的参数列表将会非常多,如:

public List<String> getName(@RequestParam String query1,
                            @RequestParam String query2,
                            @RequestParam String query3,
                            ......) {
        return new ArrayList<>();
}

这种情况下最好的方式就是: 将所有参数封装成一个类,然后使用 @RequestBody注解将参数自动解析成该类的一个实例

7、数据库操作

  • 1: Spring-Data-Jpa来操作MySQL数据库。

    • Jpa(Java Persistence API) 定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate 、TopLink等。

    • Spring-Data-Jpa是对Hibernate的整合。

    • 实体映射MySQL数据库表,启动服务时包错误信息:
      Caused by: org.hibernate.AnnotationException: No identifier specified fo xxxx

  • 2:RESTful API设计

    • 查询所有的投诉请求信息


这里的返回的结果没有按照后端的标准来,只是一个例子。包括命名规则,也没按照规范来。希望大家不要这样写。

  • 插入一条投诉信息


  • 查询一条投诉信息
  • 更新投诉信息
  • 删除投诉信息
  • 自定义查询字段

8、事务的提交Service

.png

微信扫码关注java架构,获取Java面试题和架构师相关题目和视频。

相关文章

网友评论

    本文标题:Spring boot入门教程

    本文链接:https://www.haomeiwen.com/subject/ciujnxtx.html