SpringBoot基本知识汇总

xl_echo编辑整理,交流学习请加1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!


为什么要用springboot?

  • 传统项目配置文件过于臃肿
  • 传统项目依赖版本之间兼容问题
  • 传统项目整合步骤相对繁琐

什么是springboot

springboot就是一个快速开发框架,能够帮组我们快速整合第三方框架。内部嵌入Http服务器(Tomcat、Jetty),默认嵌入的是Tomcat服务器。最终以java应用程序进行执行。其开发过程中采用注解化,简化XML配置。(springboot中没有web.xml,内嵌服务器java创建tomcat)

SpringCloud的区别

springboot是一个快速开发框架,能够快速帮我们整合常用的第三方框架,完全采用注解化,最终以java应用程序进行执行。
springcloud是目前唯一一套完整的微服务框架。包含:注册中心eureka、客户端调用工具fegin、服务治理、分布式配置中心config、网关zuul…

springboot是微服务框架吗?

SpringBoot不能直接介定为微服务,如果使用springboot+SpringCloud才是微服务。SpringBoot只是一个快速快发的框架。

springboot和springmvc的关系

SpringBoot Web组件集成了SpringMVC框架

springboot中实现异步调用

在springboot中实现异步调用只需要在方法上面加上@Async,在启动加上@EnableAsync

现在启动类上加上@EnableAsync,这个时候代表开启异步调用,只要与启动类在统计包上,都能够加载到
然后在方法上面加上@Async即可开启现成执行

开启异步执行之后,被加注解的方法会单独开启线程执行

springboot 配置文件配置自定义参数

在application中定义一个变量,直接可以在方法里面取。
只需要在定义参数的时候定义一个变量,在变量上加上@Value即可,该变量就会自动对应接收配置文件中的值。

注意,该变量是在启动的时候就被加载了

多环境配置

主要作用就是为了区分不同环境的配置文件信息,如公司使用的几种环境

  • 本地开发环境
  • 测试环境
  • 生产环境

使用多个配置文件,文件名称一定要按照规定格式,比如开发环境,一定是application-dev.properties。对照以上几个环境,一般都定义为以下名称
application-dev.properties
application-test.properties
application-prod.properties

如果想要使用哪个环境则直接在主配置文件中加入一下配置即可
spring.profiles.active=dev

springboot整合mybatis

第一步:添加依赖

在pom文件中添加mybatis的依赖,和mysql的依赖

<!-- mysql 依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!-- mybatis -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
第二步:在启动类上面添加扫描包注解

然后在启动类上面加上@MapperScan(basePackages = {“com.echo.mapper”}) 即可直接扫描到所需要的mapper层。也可以在mapper类上面直接添加@mapper,但是如果使用@mapper该注解,只能扫到当前类,如果有多个类的话,每一个都必须添加该注解,所以使用@MapperScan更为简洁

第三步:创建mapper的接口类,这里使用注解
public interface FoodMapper {
    @Select("SELECT * FROM food_name WHERE food = #{food}")
    Food findByName(@Param("food") String food);

    @Insert("INSERT INTO food_name(food) VALUES(#{food})")
    int insert(@Param("food") String food);
}

mybatis注解开发开启驼峰转换

springboot使用注解方式整合mybaits不建议使用mybatis-config.xml。所以会出现没有办法自动匹配类和数据库的字段,这个时候开启驼峰转换不需要重新建配置文件,只需要在application.properties中添加以下类容即可

#mybatis开启驼峰转换
mybatis.configuration.map-underscore-to-camel-case=true

springboot整合@Transactional

spring事务的分类

  • 声明事务
  • 编程事务

spring事务使用注意事项
不能try,因为要将异常跑出给外层

哪里需要使用,直接在哪个方法上面添加一个@Transactional注解即可。

springboot多数据源

一个项目使用多个数据库(由于业务需求,数据量过大或者对于数据分类要求够高,这个时候我们可以一个项目使用多个数据库)

多数据源怎么划分?

  • 根据项目分包名称(根据包名,比如package1,package2; 每个包都成为一个jar包,一个jar使用一个数据源)
  • 根据注解方式(在需要其他数据源的方法上加上自定义的数据源注解,比较复杂。)

多数据源使用思路:

1、准备好两个数据库datasource1、datasource2

2、在配置文件中定义两个数据源的基本参数

3、手写一个连接数据库的方法,取出需要的数据源参数,连接数据库。

mybatis整合分页插件-pageHelper

在pom.xml中添加pagehelper

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

在application.yml中配置分页参数

# 配置分页
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
  page-size-zero: true

使用示例:

PageHelper.startPage(page, pageSize);
List<Shop> list = shopDao.getList();
PageInfo<Shop> pageInfoList = new PageInfo<>(list);
System.out.println(pageInfoList.getSize() + pageInfoList.getPages());
return "success";
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1. @SpringBootApplication注解是Spring Boot应用程序的核心注解之一。它组合了其他三个注解:@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。@SpringBootConfiguration用于标识该类是Spring Boot的配置类,@EnableAutoConfiguration用于自动配置Spring Boot应用程序的一些默认行为,@ComponentScan用于扫描并加载Spring组件。 2. Spring Boot的自动配置原理是通过引入启动器来实现的。启动器是一组依赖项的集合,它们一起协同工作以提供特定功能。通过引入适当的启动器,Spring Boot可以自动配置应用程序的各种功能和组件,从而简化开发人员的工作。 3. 在使用Spring Boot进行数据库开发时,它可以根据项目的依赖自动配置JDBC连接和连接池。当引入JDBC启动器时,Spring Boot会自动引入适当的数据库驱动和连接池,并根据配置文件中的设置自动配置数据库连接。这样,开发人员无需手动配置数据库连接和连接池,极大地简化了开发流程。 综上所述,Spring Boot的知识汇总包括@SpringBootApplication注解的作用和组成、自动配置原理以及自动配置数据库连接和连接池的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringBoot知识点整理](https://blog.csdn.net/qq_40454863/article/details/119872814)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xlecho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值