Spring
文章平均质量分 85
程序员阿牛啊
各平台ID:程序员阿牛
展开
-
Spring系列之集成MongoDB的2种方法
MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践。今天带大家讲一讲SpringBoot集成MongoDB的两种方式,MongoDB的安装自行去官网查询,本地开发最方便的做法是使用Docker方式。 一、准备工作1、工程生成老规矩,使用https://start.spring.io/ 选择我们要依赖的jar包,生成一个demo,然后导入到Idea中2、配置项在application.properties文件中,配置MongoDB的地址 spring.原创 2021-09-13 12:24:16 · 673 阅读 · 0 评论 -
Spring系列之Mybatis动态代理实现全过程?回答正确率不到1%
面试中,可能会问到Spring怎么绑定Mapper接口和SQL语句的。一般的答案是Spring会为Mapper生成一个代理类,调用的时候实际调用的是代理类的实现。但是如果被追问代理类实现的细节,很多同学会卡壳,今天借助2张图来阅读一下代码如何实现的。一、代理工厂类生成的过程步骤1在启动类上加上注解MapperScan @SpringBootApplication@MapperScan(basePackages = "com.example.springdatasourcedruid.原创 2021-09-08 21:43:47 · 380 阅读 · 0 评论 -
Spring系列之JDBC对不同数据库异常如何抽象的?
前言使用Spring-Jdbc的情况下,在有些场景中,我们需要根据数据库报的异常类型的不同,来编写我们的业务代码。比如说,我们有这样一段逻辑,如果我们新插入的记录,存在唯一约束冲突,就会返回给客户端描述:记录已存在,请勿重复操作代码一般是这么写的: @Resourceprivate JdbcTemplate jdbcTemplate;public String testAdd(){ try { jdbcTemplate.execute("INSERT INTO u原创 2021-09-06 09:33:31 · 776 阅读 · 0 评论 -
spring-data-jdbc的基础使用(一)
前言很多人知道Mybatis,知道Jpa,但是对spring-data-jdbc可能了解的少之又少。注意我们这里说的是data-jdbc,而不是普通的jdbc。它拥有了类似jpa的一些特性,比如能够根据方法名推导出sql,基本的CRUD等,也拥有了写原生sql的能力。最为关键的是,它非常的清爽,不需要依赖hibernte或者jpa。一、使用https://start.spring.io/ ,建立一个demo二、使用 Java 配置的 Spring Data JDBC// @EnableJdbcR原创 2021-08-18 17:57:24 · 855 阅读 · 0 评论 -
Spring系列之多个数据源配置
前言在上篇文章讲到了如何配置单数据源,但是在实际场景中,会有需要配置多个数据源的场景,比如说,我们在支付系统中,单笔操作(包含查询、插入、新增)中需要操作主库,在批量查询或者对账单查询等对实时性要求不高的场景,需要使用读库来操作,依次来减轻数据库的压力。那么我们如何配置多数据源? 这里还是基于springboot应用的情况下,我们看一下怎么配置。因为SpringBoot会实现自动配置,但是SpringBoot并不知道我们的业务场景分别要使用哪一个数据源,因此我们需要把相关的自动配置关闭。 首先,生原创 2021-08-24 14:15:43 · 288 阅读 · 0 评论 -
Spring系列之HikariCP连接池
上两篇文章,我们讲到了Spring中如何配置单数据源和多数据源,配置数据源的时候,连接池有很多选择,在SpringBoot 1.0中使用的是Tomcat的DataSource,在SpringBoot 2.0中,我们使用默认连接池是HikariCP,本文讲一下HikariCP。 为什么SpringBoot 2.0要选择HikariCP来作为默认的连接池呢?我们先看一下官网的一张对比图。一个连接周期定义为单个DataSource.getConnection()/ Connection.close()。原创 2021-08-25 16:15:36 · 420 阅读 · 0 评论 -
Spring系列之集成Druid连接池及监控配置
前言前一篇文章我们熟悉了HikariCP连接池,也了解到它的性能很高,今天我们讲一下另一款比较受欢迎的连接池:Druid,这是阿里开源的一款数据库连接池,它官网上声称:为监控而生!他可以实现页面监控,看到SQL的执行次数、时间和慢SQL信息,也可以对数据库密码信息进行加密,也可以对监控结果进行日志的记录,以及可以实现对敏感操作实现开关,杜绝SQL注入,下面我们详细讲一下它如何与Spring集成,并且顺便了解一下它的监控的配置。 文章要点: Spring集成Druid 监控Filters配置(原创 2021-08-29 21:44:16 · 2274 阅读 · 0 评论 -
Spring系列之事物是如何管理的
前言我们都知道Spring给我们提供了很多抽象,比如我们在操作数据库的过程中,它为我们提供了事物方面的抽象,让我们可以非常方便的以事物方式操作数据库。不管你用JDBC、Mybatis、Hibernate等任何一种方式操作数据库,也不管你使用DataSource还是JTA的事物,Spring事物抽象管理都能很好的把他统一在一起。接下来看一下事物的抽象核心接口 Spring事务抽象*PlatformTransactionManager是事物管理器接口 * //事务管理器接口有以下几个接口,获取事物信息原创 2021-09-02 12:52:46 · 169 阅读 · 0 评论