Spring
文章平均质量分 55
独孤小白狐
这个作者很懒,什么都没留下…
展开
-
谈谈Spring中常用的注解
目录扫描包配置注入功能值注入组件注入单元测试引入依赖注解是开发中很省事的一种开发方式,使用注解来注册组件,设置了一个包目录,找到所有的类,遍历,是否包含组件注册功能的注解扫描包配置类上使用组件注册功能的注解@Component@Service@Repository@Controller(SpringMVC阶段才会去使用)可以使用注解的value属性指定组件id;如果没有使用value属性,默认的组件id是类名的首字母小写注入功能只..原创 2021-09-22 21:36:07 · 214 阅读 · 0 评论 -
Spring中的JavaConfig
什么是JavaConfig、通过注解和配置类完成Spring的相关配置Spring配置都做了什么? 注册组件、其他配置(扫描包配置、properties配置文件加载、aspectj注解开关、事务注解开关)目的:干掉配置文件 application.xml目录配置类注册组件扫描包配置事务注解驱动单元测试加载配置类properties配置文件加载(了解)aspectj注解开关配置类替代的application.xml要在配置类中注册组件 其他配置@C..原创 2021-09-12 23:00:23 · 669 阅读 · 0 评论 -
Spring框架中tx(事务)的三个核心接口
目录PlatFormTransactionManagerTransactionStatusTransactionDefinition传播行为PlatFormTransactionManager平台事务管理器Spring要管理事务,必然要使用平台事务管理器DataSourceTransactionManager:mybatis如果使用spring管理事务的话要使用的管理器HibernateTransactionManager:这个是Hibernate持久层框架用的接口之原创 2021-09-12 22:10:44 · 317 阅读 · 0 评论 -
Spring整合Mybatis
引入依赖注意:mabitis的依赖只要引入3.4.6以上版本就可以了新建mybatis配置文件然后创建接口和映射文件、新建数据库完成以上后我们来进行查询操作,在测试类写如下代码使用以上方法去操作太繁琐,所以接下来我们使用Spring来帮助我们管理这些组件Spring依赖搭建Spring环境熟悉脉络后我们就可以注册组件了注册组件原先mybatis并未考虑到spring的整合,是通过建造者方式建造出来的,而不是通过直接调用构造方法构造出...原创 2021-09-12 21:45:40 · 101 阅读 · 0 评论 -
说下Spring框架中Aspect注解的使用方法吧
目的:将我们aspectj使用aspect的这种形式使用注解和类表达出来,干掉aop:aspect标签打开注解开关<aop:aspectj-autoproxy/>如果不使用注解的话我们是做了如下的步骤指定了切面组件切入点配置指定切面组件中方法使用什么通知方法(通知)通知方法对应的切入点或切入点表达式returning和throwing指定形参来接收委托类方法执行结果或抛出的异常那么接下来我们就使用注解的方式对以上操作一一进行对应替换指定切面组件..原创 2021-09-08 20:16:46 · 354 阅读 · 0 评论 -
详解Spring框架AOP中的AspectJ(实战篇)(二)
通过<详解Spring框架AOP中的AspectJ(实战篇)(一)>的学习我们知道了AspectJ中的aspect是自定义通知,那么我们接下来引入Aspectj的aspect(切面)pointcut + adviceaspect给我们提供了一些通知:通知是在什么时间做什么事情,做的事情是我们自己写的,但是aspect给我们提供了时间而上面的advice主要是我们自己去写一个自定义的通知然后去实现了methodInterceptor的这样的接口Aspect这也是我们后面常规.原创 2021-09-08 17:58:53 · 214 阅读 · 0 评论 -
详解Spring框架AOP中的AspectJ(实战篇)(一)
首先说一下这个AspectJ出现的原因,在AspectJ之前我们可以使用SpringAOP来实现功能如下图所示,但是我们也面临着一些缺陷,就是它注册代理组件、取出方法的指定并不那么灵活,而AspectJ在注册过程中不需要一一指定委托类组件,取出过程中也不需要指定组件id,接下来我们详细介绍下它的使用方法目录Pointcut切入点表达式execution@annotationPointcut切入点是指指定增强的方法(必须是容器中的组件方法)切入点的表达式需要在配置文...原创 2021-09-08 17:17:11 · 758 阅读 · 0 评论 -
SpringIoc小练习引发的思考
如果我们使用的是有接口实现的组件是可以使用jdk动态代理,但是如果容器中没有接口实现的组件我们使用jdk动态代理就会报异常,那么我们可以结合cglib动态代理一起进行实现,这样我们就可以对容器中的所有的组件进行增强。那么我们可以使用判断来判断是否有接口实现代码如下这里也就有了我们接下来要介绍的aop的影子,aop说通俗了就是增强,如果有接口实现的话就使用jdk动态代理进行增强,如果没有接口实现的话就使用cglib进行增强。...原创 2021-09-07 23:04:02 · 75 阅读 · 0 评论 -
SpringIoC小练习
写几个不同的bean (实现同一个接口),每个bean里有这些接口的不同实现方法。 通过spring 使得调用任何一个实现方法之前和之后都增加一些log。(通过PostBeanProcessor实现)举个例子:比如有几个类Cat、Dog、Tiger,这几个类中分别有miao、wang、wuuu这几个方法,那么从容器中取出组件,调用这几个方法的时候(注意不是容器初始化时),miao、wang、wuuu这几个方法执行之前都会输出hello,执行之后都会输出world提示:生命周期 动态代理 注意:是..原创 2021-09-07 22:51:27 · 145 阅读 · 0 评论 -
Spring框架中注解的用法
这里要介绍下很重要的一个东西,注解。可以帮助我们节省很多事情,因为使用bean标签去注册组件过程还是很繁琐的除了实例工厂外我们都有使用到class属性,实例工厂用的是factory-bean,factory-method☆☆☆☆☆注解在说注解之前还是要强调下Spring的核心是什么?控制反转和依赖注入!注册组件之前是写了个bean标签进行注册(解耦到配置文件中)注解方法:设置个包目录,使用注解来注册组件,设置了一个包目录,找到所有的类,遍历,是否包含组件注册功能的注解扫描包配.原创 2021-09-06 20:42:35 · 306 阅读 · 2 评论 -
Bean作用域、生命周期
Bean的作用域singleton:组件在容器中以单例的形式存在。组件默认的作用域就是singleton。最常用的prototype:原型。每一次取出都是一个全新的组件,每一次取出都实例化注册组件通过查看内存地址判断是否为同一实例,这里看出prototype每次取出的都不是同一个组件生命周期什么是生命周期,为什么要使用生命周期?容器中的组件的生命,产生开始到容器关闭时候经过哪一些方法?容器中的组件要到达一个可用状态,可以依赖注入了(可以从容器中取出了)最终是要使.原创 2021-09-06 20:44:15 · 55 阅读 · 0 评论 -
介绍下Spring的核心接口、容器中Bean的实例化
目录Spring的核心接口ApplicationContext接口BeanFactory接口Spring容器中Bean的实例化构造方法无参构造方法有参构造方法工厂静态工厂实例工厂FactoryBean→使用工厂方法Spring的核心接口ApplicationContext接口继承了BeanFactory并且提供了加载资源文件的方法ApplicationContext其实就是一个容器,ApplicationContext的实例其实就是容器对象,原创 2021-09-05 22:50:18 · 513 阅读 · 1 评论 -
浅谈spring框架的IoC容器和DI依赖注入(一)
前言:spring框架的核心就是控制反转和依赖注入,本章会详细介绍下spring的IoC容器的工作原理(本文只是针对技术进行展开,不做扫盲,如有疑惑可私信本人单独求助)Spring框架控制就是指实例的生成权,反转就是控制权由应用程序反转给spring,也就是把这些实例统一的交给Spring来管理,管理过程中主要也是以单例存在,如果需要用到的话再通过依赖注入取出来。介绍两个概念:容器:Spring管理实例的地方组件:Spring管理的这些实例接下来以两个案例帮助我们快速理解S...原创 2021-09-05 21:35:19 · 234 阅读 · 0 评论 -
如何配置在idea中配置Spring的schema模板
前言---基于maven工程这里新增一个模板,后缀改为xml,文件名自己随便起,然后点击apply--ok就可以了原创 2021-09-05 18:11:17 · 677 阅读 · 0 评论