微服务前后端分离一、SprinBoot详细笔记

spring boot常用jar包依赖(供日后快速查询使用)

  • spring boot父依赖:spring-boot-starter-parent
  • spring boot JDBC:spring-boot-starter-jdbc
  • spring boot 整合 myBatis:mybatis-spring-boot-starter

spring boot的常用注解(供日后快速查询使用)

  • @SpringBootApplication:表示指定类为启动类
  • @MapperScan(“mapper”):配置指定mybatis映射文件mapper
  • @Configuration:表示指定类为配置类,用来实现java配置,代替xml配置
  • @Bean:标识配置类中指定方法的返回值是一个spring容器的Bean对象,声明在方法上,将方法返回值加入IOC容器,代替传统< bean>标签
  • @Value : 注入属性
  • @PropertySource : 指定外部属性文件
  • @ConfigurationProperties(prefix = “jdbc”):引用yml或properties文件中内容,需要指定文件中前缀,然后可以根据实体类或者方法(取决于声明在实体类上面还是方法上面)中的set方法,直接赋值相应配置信息,比如jdbc.username,就会调用setUserName方法赋值,没有对应属性就不赋值
  • @EnableConfigurationProperties(“配置类名”):引用指定配置类

yml文件常用配置(供日后快速查询使用)

  • 配置服务器端口号 在这里插入图片描述
  • 配置debug日志在这里插入图片描述
  • 配置HikariCP连接池(spring数据源)在这里插入图片描述
  • 配置视图解析器在这里插入图片描述
  • 配置mybatis开启驼峰转换在这里插入图片描述
  • 配置mybatis找到mapper映射文件,结果集映射是为了在mapper文件中不写包名在这里插入图片描述

第一章:spring boot基础

spring boot 的特点

  • 无需web.xml,这也是为什么在servlet3.0中去除web.xml的原因
  • 不需要配置springMVC的配置文件,前端控制器
  • 集成了tomcat,无需用户自己配置
  • 集成JSON,支持Rest风格url
  • spring boot就是一个集成了spring各种组件的快速开发框架,可以快速搭建一个spring项目

重头搭建一个SpringBoot项目

  • 创建Maven工程 :idea可以直接生成一个spring boot项目,但为了讲解,我们选择重头使用maven搭建 在这里插入图片描述
  • 使spring boot 为父工程: 如果想使用SpringBoot必须让springBoot成为父工程,建好Maven工程后,我们可以选择自动导入所引用包(Enable Auto-import),或者选择Import Changes 仅仅导入我刚刚所做改变的包 在这里插入图片描述在这里插入图片描述
  • 导入web启动包:web启动包可以为我们快速启动一个web项目 在这里插入图片描述
  • 建立spring boot 启动类: spring boot需要一个启动类,来启动spring boot项目,此类必须在最高级目录(保证其他类都在启动类的子文件夹下) 在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 建立控制层,处理请求: 建立Controller层,处理客户端请求在这里插入图片描述在这里插入图片描述

为什么spring boot 可以快速搭建项目

  • 首先,在早期的spring中,还没有注解的概念,所以,使用spring全部都是用xml文件配置,而当时一个项目有几十各类,相应的就要配置几十个xml文件
  • 之后在spring2.0的时候,出现了注解,这时注解不是很完善,所以大多数人使用的时候,都是重要的用xml文件配置,一些简单又重复的就使用注解,二者结合使用
  • 之后spring3.0,注解已经完善,这时spring推荐大家使用注解,不要再写xml了,这一出现直接导致我们的web工程甚至都不用配置web.xml了,当时的servlet3.0版本也彻底抛弃了web.xml,但是在中国并不流行,所以依然使用2.0的技术。
  • 而现在已经到了spring5的时期,spring已经有了很大改变,出现了java配置,而目前大多数人,也坦然接受了java配置的真香定律,java配置简直太香了,用了以后,除了看源码,维护老项目(大多使用ssm框架开发),已经没什么理由能让我放弃spring boot,回去配置xml
  • 而spring boot 就是因为配置了大量注解,这些注解会自动帮我们配置好内些必须的,复杂的配置内容

java配置

  • java配置就是通过一些java类配合注解形成java配置,是在spring3.0以后的产物,在springBoot中有了更好的配置
  • java配置常用注解
    • @Configuration :声明一个类为配置类,代替传统xml
    • @Bean : 声明在方法上,将方法返回值加入IOC容器,代替传统< bean>标签
    • @Value : 注入属性
    • @PropertySource : 指定外部属性文件

使用java配置的方式搞个数据源(理解什么是java配置即可,数据源spring boot集成了日本研发的目前最好的数据源连接池)

  • 引入c3p0和mysql依赖在这里插入图片描述
  • 外部文件中配置连接信息在这里插入图片描述
  • 用java配置原来在xml中的内容在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用spring boot 进行配置(必须掌握三种方式)

  • 配置lombok,一个工具,自动为我们生成get、set、toString等等方法配置完成需要重启idea在这里插入图片描述在这里插入图片描述
  • 报错解决(以下过程中有这个错误,请进行如下设置)
    在这里插入图片描述在这里插入图片描述
  • 为外部文件添加application前缀在这里插入图片描述
  • 新建一个类,存储这些里面的值
    • 用到的注解介绍
      • @ConfigurationProperties(“前缀”) :把外部配置文件封装成实体类,按实体类里面属性名是否和配置文件中名字一致来执行封装
      • @Data :lombok工具中的注解,自动为我们生成需要的一切get,set,toString方法。
        在这里插入图片描述
  • 配置数据源(方式一)在这里插入图片描述
  • 测试在这里插入图片描述
  • 第二种配置数据源方式在这里插入图片描述在这里插入图片描述
  • 第三种配置数据源方式在这里插入图片描述在这里插入图片描述

使用*.yaml或*.yml文件配置属性(如果与后缀名为properties同时存在,那么配置合并,若有同名属性,按properties为准)

  • 创建一个后缀名为yml的文件,其他操作都一样在这里插入图片描述在这里插入图片描述

配置拦截器

  • 1、配置自定义拦截器,除了springMvc的配置用java配置以外,其他操作与用springMvc无二,所以,和springMvc相同,需要先定义自己的拦截器在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 2、使用java配置代替xml配置,创建一个类继承WebMvcConfigurer在这里插入图片描述在这里插入图片描述
  • 2、添加一个拦截器在这里插入图片描述
  • 3、测试在这里插入图片描述

配置JDBC数据源

  • 使用HikariCP连接池,这是日本开发的连接池,速度极快,碾压c3p0,所以大多数厂商使用此连接池,spring默认支持此连接池,封装在JDBC模块中
  • 1、添加springJDBC依赖在这里插入图片描述
  • 2、配置连接池在这里插入图片描述

配置MyBatis整合

  • 和ssm框架一样,MyBatis自己提供了整合包mybatis-spring-boot-starter
  • 1、引入依赖在这里插入图片描述
  • 2、开启mybatis驼峰命名在这里插入图片描述
  • 3、找到mapper映射文件(需要说的是,单表操作的mapper,因为sql没什么可优化的,所以一般我们都使用通用mapper,多表才自己写mapper映射)在这里插入图片描述
  • 4、配置到指定包找类别名在这里插入图片描述
  • 5、得到所以mapper映射的接口在这里插入图片描述

使用MyBatis的通用mapper(支持单表增删改查等操作)

  • 引入依赖(引入通用mapper,mybatis整合包,和JDBC包就自动引入了,所以我们可以将上面引入的两个包删掉)在这里插入图片描述
  • mapper接口继承mapper类在这里插入图片描述
  • 使用通用mapper中的mapper扫描注解在这里插入图片描述
  • 指定数据库中表的名字在这里插入图片描述
  • 指定主键,如果主键设置了自动自增,也需指定在这里插入图片描述
  • 指定某些字段不作为sql语句字段名使用在这里插入图片描述
  • 编写service层在这里插入图片描述
  • 加事务在这里插入图片描述
  • 测试在这里插入图片描述在这里插入图片描述
发布了23 篇原创文章 · 获赞 0 · 访问量 601

猜你喜欢

转载自blog.csdn.net/grd_java/article/details/105140042
今日推荐