2021
03-23
03-23
Spring事务的开启原理详解
在事务配置类上声明@EnableTransactionManagement注解开启事务在事务配置类上定义数据源在事务配置类上定义事务管理器在相关类或者方法上使用@Transactional声明事务代码如下:@Configuration@EnableTransactionManagementpublicclassRootConfig{@BeanpublicDataSourcedataSource(){DruidDataSourcedataSource=newDruidDataSource();dataSource.setXXX();...returndataSource;}@BeanpublicPl...
继续阅读 >
前言 在我们项目中经常会涉及到权限管理,特别是一些企业级后台应用中,那权限管理是必不可少的。这个时候就涉及到技术选型的问题。在我以前项目中也没用到什么权限框架,就全部到一个springmvc拦截器中去校验权限,当然,对需求比较少,小型的项目这也不失一个好的实现(实现简单,功能单一),但是对于一些比较大的应用,权限认证,session管理要求比较高的项目,如果再使用mvc拦截器,那就得不偿失...
1工程概述1.1pom文件<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><spring.version>5.2.8.RELEASE</spring.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version></dependency><dependency...
一、背景之前公司经常会遇到配置定时任务,简单的任务可以直接依赖spring。简单任务直接使用@scheduled注解配合@EnableScheduling。但是如何实现简单的动态cron呢?开发原则:尽可能在项目本身去实现,少依赖第三方框架,避免项目过于臃肿和复杂。俩种任务调度方式:二、本篇说明springBoot基础模块spring-boot-starter-web已经内置schedule,无需引入额外依赖。先思考几个问题:1、动态cron实现的原理任务的【停止】是...
IOC创建对象的方式一、使用无参构造创建对象(默认方式)创建实体类注意:属性必须要有set方法,来完成注入publicclassUser{privateStringname;publicUser(){System.out.println("执行了User类的无参构造方法~");}publicUser(Stringname){this.name=name;System.out.println("执行了User类的有参构造方法");}//使用无参构造方法时,必须要设置set方法,因为注入时需要通过set方法注入publi...
在搭建SpringCloudEureka环境前先要了解整个架构的组成,常用的基础模式如下图:服务提供者:将springboot服务编写好以后,通过配置注册中心地址方式注册,提供给消费者使用。注册中心:服务的中间桥梁,服务提供者将服务注册。服务消费者可以通过注册信息调用需要使用的服务。服务消费者:通过规定的调用方式,读取注册中心的注册信息,调用相应的服务。根据后续的服务复杂度进化以后,可以看到服务提供者也可以是服务消费者,...
一般在表设计的时候,都会在表中添加一些系统字段,比如create_time、update_time等。阿里巴巴开发手册中也有这样的提示,如果对于这些公共字段可以进行统一处理,不需要每次进行插入或者更新操作的时候set一下,就可以提高开发效率,解放双手。加入依赖下面就通过MyBatisPlus来完成字段自动填充,首先加入MyBatisPlus依赖:<dependency> <groupId>com.baomidou</groupId>  ...
1.Prometheus是什么Prometheus是一个具有活跃生态系统的开源系统监控和告警工具包。一言以蔽之,它是一套开源监控解决方案。Prometheus主要特性:多维数据模型,其中包含由指标名称和键/值对标识的时间序列数据PromQL,一种灵活的查询语言不依赖分布式存储;单服务器节点是自治的时间序列收集通过HTTP上的pull模型进行通过中间网关支持推送(push)时间序列通过服务发现或静态配置发现目标支持多种模式的图形和仪...