我是靠谱客的博主 鲤鱼香氛,最近开发中收集的这篇文章主要介绍Spring Boot详细笔记spring boot常用jar包依赖(供日后快速查询使用)spring boot的常用注解(供日后快速查询使用)yml文件常用配置(供日后快速查询使用)一、spring boot基础概念及操作二、spring mvc配置三、操作数据库四、源码TODO(日后更新),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

网页左边,向下滑有目录索引,可以根据标题跳转到你想看的内容

spring boot概述

  1. spring boot是微服务的基础,但它还不算一个微服务,它的作用仅仅是整合了spring的一些配置文件,可以让你快速的搭建一个spring项目,spring boot可以快速开发一个Spring应用。
  2. spring cloud是协调治理全局的微服务。
  3. 前后端分离,就是前端由前端工作人员开发,而后端,采用微服务的形式,分为多个模块,每个模块可以由单独团队开发。
  4. 比如搜索功能,就可以做成一个独立的模块,也就是一个微服务,每个微服务都可以由一个专门的团队负责,不同模块之间互不影响,每个模块只需要提供可调用接口即可,当某个项目需要用到某一个功能时,只需使用某一微服务即可,比如,百度有搜索功能,可以使用搜索功能微服务提供的接口,淘宝有搜索功能,同样可以使用这个微服务实现,比如将某个微服务当成电磁炉,电磁炉有加热功能,当需要煮面时,可以使用这个电磁炉,当需要吃火锅时,也可以使用这个电磁炉,而煮面,火锅,是完全不同的两个项目,但使用的都是电磁炉,这就是分模快微服务

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

  1. spring boot父依赖:spring-boot-starter-parent
  2. spring boot启动包:spring-boot-starter-web
  3. spring boot JDBC:spring-boot-starter-jdbc
  4. spring boot 整合 myBatis:mybatis-spring-boot-starter
  5. thymeleaf依赖:thymeleaf

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

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

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

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

一、spring boot基础概念及操作

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

1. 从头搭建一个SpringBoot项目

  1. 创建Maven工程

idea可以直接生成一个spring boot项目,但为了讲解,我们选择重头使用maven搭建 在这里插入图片描述

  1. 使spring boot 为父工程:

如果想使用SpringBoot必须让springBoot成为父工程,建好Maven工程后,我们可以选择自动导入所引用包(Enable Auto-import),或者选择Import Changes 仅仅导入我刚刚所做改变的包 在这里插入图片描述在这里插入图片描述

  1. 导入web启动包

web启动包可以为我们快速启动一个web项目 在这里插入图片描述

  1. 建立spring boot 启动类

spring boot需要一个启动类,来启动spring boot项目,此类必须在最高级目录(保证其他类都在启动类的子文件夹下,因为spring boot自动扫描子目录,如果你放在低级目录,那么高级目录就自动扫描不到,需要你在启动类添加注解,手动扫描) 在这里插入图片描述在这里插入图片描述在这里插入图片描述
5 .建立控制层,处理请求
建立Controller层,处理客户端请求在这里插入图片描述在这里插入图片描述

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

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

2. 使用java配置的方式配置数据源

java配置

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

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

  1. 引入c3p0和mysql依赖在这里插入图片描述
  2. 外部文件中配置连接信息在这里插入图片描述
  3. 用java配置原来在xml中的内容在这里插入图片描述
  4. 编写Controller,利用debug测试在这里插入图片描述在这里插入图片描述在这里插入图片描述

3. 使用spring boot 获取配置文件内容(必须掌握三种方式)

为了方便我们使用一个工具lombok,自动为我们生成get、set、toString等等方法配置完成需要重启idea
  1. 安装插件,配置依赖在这里插入图片描述在这里插入图片描述
  2. 报错解决(以下过程中有这个错误,请进行如下设置)
    在这里插入图片描述在这里插入图片描述
spring boot指定的配置文件
  1. 为外部文件添加application前缀,因为spring boot会自动将application为前缀的文件识别为spring boot配置文件
    在这里插入图片描述
  2. 新建一个类,存储这些里面的值
  1. 用到的注解介绍
  1. @ConfigurationProperties(“前缀”) :把外部配置文件封装成实体类,按实体类里面属性名是否和配置文件中名字一致来执行封装
  2. @Data :lombok工具中的注解,自动为我们生成需要的一切get,set,toString方法。
    在这里插入图片描述

1. 直接通过方法获取

  1. 注入配置实体类,然后通过get set方法获取值
    在这里插入图片描述
  2. 测试在这里插入图片描述

2. 自动注入配置实体类

  1. 我们无需让spring扫描到这个类了
    在这里插入图片描述
  2. 使用@EnableConfigurationProperties(配置实体类的class对象)注解,自动将实体类注入到这个注解的作用范围(此注解的作用范围为它注解的类)
    在这里插入图片描述

3. 直接在需要的地方,实时获取配置文件中的值

  1. 我们不需要配置实体类了,这个类没用了
    在这里插入图片描述
  2. 通过注解@ConfigurationProperties(prefix=“前缀”),将配置文件中内容,按照名称,自动调用相应的set方法注入
    在这里插入图片描述

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

yml文件可以放置的位置,以及优先级
在这里插入图片描述
下面是file文件夹位置,而classpath就是我们上面一直使用的resources文件夹在这里插入图片描述

使用yml文件
  1. 创建一个后缀名为yml的文件,其他操作都一样在这里插入图片描述
  2. 如果这个文件要对应到实体类,那么结构如下 在这里插入图片描述

二、spring mvc配置

1. 配置拦截器

  1. 配置日志功能 在这里插入图片描述
  2. 配置自定义拦截器在这里插入图片描述
    在这里插入图片描述
  3. 使用java配置代替xml配置springMVC,创建一个类继承WebMvcConfigurer在这里插入图片描述在这里插入图片描述
  4. 将我们上面配置的拦截器添加到spring MVC配置类中,也就是告诉spirng MVC这个拦截器是你的在这里插入图片描述
  5. 测试(可见在hello请求前后都打印了拦截器的日志信息)在这里插入图片描述

2. 配置视图控制器

视图控制器作用就是,我们访问一个地址,然后帮我们跳转到指定资源,或者静态页面
  1. 设置静态页面或者写一个静态路径(这里我们不使用静态页面,因为需要依赖于模板引擎的依赖,但是现在都是前后端分离,已经不常用这些东西了(但是我们后面还是会讲一下),所以我们知道视图控制器是干嘛的就可以了)在这里插入图片描述
  2. 配置视图控制器在这里插入图片描述
@Configuration
public class MvcConfig implements WebMvcConfigurer {
    /*拦截器*/
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new TestInterceptor()).addPathPatterns("/**");
    }
    /*视图控制器*/
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        //addViewController(url)添加一个视图控制器,当访问指定url时跳转到指定页面
        //setViewName(静态资源路径),当用户通过浏览器访问上面设置的url时,自动跳转到这里指定的页面
        registry.addViewController("/test").setViewName("hello");
    }
}
thymeleaf模板
  1. 依赖在这里插入图片描述
<dependency>
     <groupId>org.thymeleaf</groupId>
     <artifactId>thymeleaf</artifactId>
     <version>3.0.12.RELEASE</version>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
     <version>2.3.9.RELEASE</version>
 </dependency>
  1. 编写静态页面,测试在这里插入图片描述

3. 国际化配置

  1. 设置统一编码格式utf-8在这里插入图片描述在这里插入图片描述
  2. 创建国际化文件,创建login和login_zh_CN文件后会自动识别国际化操作(如果最后国际化失败,尝试将i8n文件夹名字改为i18n)在这里插入图片描述
  3. 编辑文件在这里插入图片描述在这里插入图片描述
  4. 配置文件路径在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

三、操作数据库

1. 配置JDBC数据源

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

2. 配置MyBatis整合

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

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

  1. 引入依赖(引入通用mapper后,mybatis整合包,和JDBC包就自动引入了,所以我们可以将上面引入的两个包删掉)在这里插入图片描述
  2. mapper接口继承mapper类在这里插入图片描述
  3. 使用通用mapper中的mapper扫描注解在这里插入图片描述
  4. 指定数据库中表的名字在这里插入图片描述
  5. 指定主键,如果主键设置了自动自增,也需指定在这里插入图片描述
  6. 指定某些字段不作为sql语句字段名使用在这里插入图片描述
  7. 编写service层在这里插入图片描述
  8. 加事务在这里插入图片描述
  9. 测试在这里插入图片描述在这里插入图片描述

四、源码TODO(日后更新)

最后

以上就是鲤鱼香氛为你收集整理的Spring Boot详细笔记spring boot常用jar包依赖(供日后快速查询使用)spring boot的常用注解(供日后快速查询使用)yml文件常用配置(供日后快速查询使用)一、spring boot基础概念及操作二、spring mvc配置三、操作数据库四、源码TODO(日后更新)的全部内容,希望文章能够帮你解决Spring Boot详细笔记spring boot常用jar包依赖(供日后快速查询使用)spring boot的常用注解(供日后快速查询使用)yml文件常用配置(供日后快速查询使用)一、spring boot基础概念及操作二、spring mvc配置三、操作数据库四、源码TODO(日后更新)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部