
spring
文章平均质量分 92
spring
miller.zc
记录和分享一些工作和学习中的笔记
展开
-
springBoot省xml配置的原由
一、原因因为springBoot有一个关键的注解@EnableAutoConfiguration,这个注解是自动启动spring特性的注解,此注解可以通过扫描文件的方式往spring容器里面加载大量需要的bean,从而省去xml配置。二、@EnableAutoConfiguration解析(1)、首先要知道ImportSelector接口是干嘛的?ImportSelector接口有一个抽象方法,String[] selectImports(AnnotationMetadata var1);这原创 2020-12-18 15:33:36 · 1053 阅读 · 2 评论 -
spring拦截器和过滤器
一、spring拦截器应用1、建立interceptor包,在此包下建立Interceptor类。以处理Ajax跨域请求为例写一个拦截器继承HandlerInterceptor接口,此接口有3个方法:preHandle: 预处理,返回true表示流程继续,返回false表示不会继续处理(流程中断) postHandle: 后处理回调方法,发生在视图渲染之前。参数ModelAndView可以为空,不为空时会对数据进行处理或者视图渲染。 afterCompletion: 整个请求处原创 2020-12-18 14:56:12 · 422 阅读 · 0 评论 -
spring监听
一、概述监听就是一个事务的触发,会被一个监听器观察到,并执行相应的处理,也就是典型的观察者模式。监听的三大要素:1、事件(触发条件)2、监听器(观察这个事件是否执行)3、触发动作(观察到了之后,要执行什么操作)二、spring中用监听器1、简单的使用方式:(1)、创建一个事件,继承ApplicationEvent抽象类(2)、创建一个监听器,实现ApplicationListener接口,泛型中指定事件类型,在重写的onAppEvent方法中,写监听到改事件之后的执行逻辑原创 2020-12-18 14:54:09 · 465 阅读 · 0 评论 -
Spring核心组件
一、spring概念1、Inverse Of Control 控制反转(IOC)将我们创建对象的方式反转了,以前创建对象是由我们开发人员自己维护,包括依赖注入关系也是自己注入。使用了spring之后,对象的创建以及依赖关系,由spring完成创建以及注入。控制反转就是反转了对象的创建方式。从我们自己创建反转给了spring。实际上就是如果不用spring,我们使用一些对象需要自己new,并且自己set或者构造方法的方式来设置一些属性(属性也可能是其它的对象)。用了spring我们就是可以通过原创 2020-12-18 14:52:28 · 449 阅读 · 0 评论 -
springAop原理
一、什么是AOPAOP是对OOP(面向对象)的补充,OOP是自上而下的将程序抽象成各个层次的对象而AOP是定义好切入点,只要被这些切入点包含的,都要执行AOP的通知。(就是多个对象的方法执行前后会触发相同的一些逻辑,可以将这些逻辑提取出来)。二、为什么需要 AOP相同的逻辑也可以抽取成公共方法,然后要调用的时候在各个不同的类里面调用。但是万一以后又要加一些其它的公共方法,那就要每个类里面都去加。像这种统一逻辑的处理,完全可以用AOP解决,利用aop在这些方法执行前后加一些公共的逻辑即可,实原创 2020-12-18 14:48:17 · 2546 阅读 · 0 评论 -
springBean生命周期
一、springBean的生命周期1、 启动spring容器,也就是创建beanFactory(bean工厂), 一般用的是beanFactory的子类applicationcontext, applicationcontext比一般的beanFactory要多很多功能,比如aop、事件等。 通过applicationcontext加载配置文件,或者利用注解的方式扫描将bean 的配置信息加载到spring容器里面。 2、 加载之后,spring容器会将这些原创 2020-12-18 14:46:36 · 21284 阅读 · 6 评论 -
SpringBoot+MyBatis+Mysql+Durid动态多数据源项目搭建
一、项目重点有:(1)、SpringBoot+Mybatis+Mysql+Durid整合(2)、错误后跳转到指定页面(3)、多数据源动态切换(4)、mybatis分页(5)、durid监控(6)、集成log4j2日志(7)、通过mybatis拦截器,在控制台打印完整的sql二、项目截图:三、SpringBoot+Mybatis+Mysql+Durid整合(1)、app...原创 2019-10-04 23:41:19 · 2019 阅读 · 0 评论 -
Spring boot 注解原理分析(@EnableAutoConfiguration深入理解) 下
一、项目结构:二、@EnableAutoConfiguration原理分析:@EnableAutoConfiguration到底是怎么启用一些特性的?(1)、首先要知道这个接口是干嘛的,ImportSelectorImportSelector接口有一个抽象方法,String[] selectImports(AnnotationMetadata var1);这个方法会返回一个字符串数组,...原创 2019-08-17 18:56:24 · 292 阅读 · 0 评论 -
Spring boot 注解原理分析(@EnableAutoConfiguration深入理解) 上
一、项目结构图:二、关于读取配置文件属性和指定配置文件:(1)、读取配置文件属性有以下几种方式:<1>、使用@Value注解<2>、使用Environment.getProperty方法代码:User.class:public class User { //通过environment.getProperty("autoPassword")来获取配置...原创 2019-08-15 22:25:31 · 381 阅读 · 0 评论 -
Spring boot事件理解
一、项目结构二、SpringBoot事件步骤:(1)、先定义一个事件MyApplicationEvent,一般继承ApplicationEvent抽象类MyApplicationEvent.classpublic class MyApplicationEvent extends ApplicationEvent { public MyApplicationEvent(Object...原创 2019-08-19 22:03:46 · 349 阅读 · 1 评论 -
Spring原理(通过源码深入分析Spring生命周期和依赖注入、动态代理的实现)
一、分析BeanPostProcessor接口:这个接口里面的两个方法每个Spring容器里面的Bean初始化时候都会调用,一个是postProcessBeforeInitialization,一个是postProcessAfterInitialization,都是在bean属性设置完成后,进行调用。postProcessBeforeInitialization在init方法之前调用,...原创 2019-08-09 21:54:11 · 688 阅读 · 0 评论 -
Spring原理分析(仿照spring源码写装配bean和依赖注入)
一、环境准备新建maven项目,配置maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio...原创 2019-08-09 21:22:32 · 688 阅读 · 0 评论 -
Spring事务的理解
一、什么是事务:我理解为:事务其实就是一件事情,要做就做完,中途出问题了就要恢复成原状态(等于没有做).二、事务的四大特性(1)、原子性: 事务必须是一个不可分割的整体(2)、一致性:执行完数据库操作后,数据不会被破坏。打个比方,如果从 A 账户转账到 B 账户,不可能因为 A 账户扣了钱,而 B 账户没有加钱吧(3)、隔离性:对同一条数据的操作,不同的事务之间应该隔离,要不...原创 2019-08-05 15:58:35 · 1133 阅读 · 0 评论 -
基于之前写的博客(SSM框架搭建以及简单增删改查以及分页功能的实现(前端bootstrap+css+jq))进一步的封装(改为SqlSessionTemplate方式实现)
前言:这篇博客就不从头写了,只写改的的部分,其他的可以对照之前的博客1、目录改动:2、配置文件改动:(1)、spring-mybatis.xml:增加了事务管理功能,把之前的扫描dao接口的方法注释掉,换成了注册SqlSessionTemplate的配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:...原创 2019-03-31 15:11:46 · 414 阅读 · 0 评论 -
SSM框架搭建以及简单增删改查以及分页功能的实现(前端bootstrap+css+jq)
一、项目结构截图:二、配置文件介绍POM文件配置:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:/...原创 2019-03-31 15:10:05 · 1094 阅读 · 0 评论