随笔分类 -  Spring

摘要:spring的事务处理回答问题1.什么是事务 讲mysql的时候,提出了事务。 事务是指一组sql语句的集合, 集合中有多条sql语句 可能是insert , update ,select ,delete, 我们希望这些多个sql语句都能成功, 或者都失败, 这些sql语句的执行是一致的,作为一个整 阅读全文
posted @ 2021-07-31 10:48 Brack_Pearl 阅读(73) 评论(0) 推荐(0)
摘要:1.在resources目录中新建一个jdbc.properties属性配置文件,文件内容如下: 2.在spring配置文件中使用新建的属性配置文件信息 阅读全文
posted @ 2021-07-30 11:14 Brack_Pearl 阅读(43) 评论(0) 推荐(0)
摘要:把mybatis框架和spring集成在一起,像一个框架一样使用。 用的技术是:ioc 。为什么ioc:能把mybatis和spring集成在一起,像一个框架, 是因为ioc能创建对象。 可以把mybatis框架中的对象交给spring统一创建, 开发人员从spring中获取对象。 开发人员就不用同 阅读全文
posted @ 2021-07-29 12:19 Brack_Pearl 阅读(69) 评论(0) 推荐(0)
摘要:1.前面的例子中,都有使用到接口,说明是JDK动态代理 2.若目标类没有接口,使用的是cglib动态代理 3.有接口也可以使用cglib动态代理 <aop:aspectj-autoproxy proxy-target-class="true" /> 阅读全文
posted @ 2021-07-28 19:02 Brack_Pearl 阅读(69) 评论(0) 推荐(0)
摘要:当较多的通知增强方法使用相同的 execution 切入点表达式时,编写、维护均较为麻烦。 AspectJ 提供了@Pointcut 注解,用于定义 execution 切入点表达式。 其用法是,将@Pointcut 注解在一个方法之上,以后所有的 execution 的 value 属性值均 可使 阅读全文
posted @ 2021-07-28 18:06 Brack_Pearl 阅读(241) 评论(0) 推荐(0)
摘要:在目标方法执行之前之后执行。被注解为环绕增强的方法要有返回值,Object 类型。 并且方法可以包含一个 ProceedingJoinPoint 类型的参数。 接口 ProceedingJoinPoint 其有一个proceed()方法,用于执行目标方法。 若目标方法有返回值,则该方法的返回值就是目 阅读全文
posted @ 2021-07-28 11:35 Brack_Pearl 阅读(1137) 评论(0) 推荐(0)
摘要:在目标方法执行之后执行。 由于是目标方法之后执行,所以可以获取到目标方法的返回值。 该注解的 returning 属性就是用于指定接收方法返回值的变量名的。 所以,被注解为后置通知的方法,除了可以包含 JoinPoint 参数外,还可以包含用于接收返回值的变量。 该变量最好为 Object 类型,因 阅读全文
posted @ 2021-07-28 00:45 Brack_Pearl 阅读(1327) 评论(0) 推荐(0)
摘要:在目标方法执行之前执行。被注解为前置通知的方法,可以包含一个 JoinPoint 类型参数。该类型的对象本身就是切入点表达式。通过该参数,可获取切入点表达式、方法签名、目标对象等。 不光前置通知的方法,可以包含一个 JoinPoint 类型参数,所有的通知方法均可包含该参数 /** * 指定通知方法 阅读全文
posted @ 2021-07-27 23:52 Brack_Pearl 阅读(1748) 评论(0) 推荐(0)
摘要:AspectJ的切入点表达式 AspectJ定义了专门的表达式用于指定切入点。表达式原型是: execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern) throws 阅读全文
posted @ 2021-07-27 21:58 Brack_Pearl 阅读(254) 评论(0) 推荐(0)
摘要:本模块是使用aspectJ框架实现aop 使用aop:目的是给已经存在的一些类和方法,增加额外的功能。前提是不改变原来的类的代码。 使用aspectJ实现aop的基本步骤: 1.新建maven 2.加入依赖 1)spring依赖 2)aspectJ依赖 3)junit单元测试 <?xml versi 阅读全文
posted @ 2021-07-27 13:09 Brack_Pearl 阅读(83) 评论(0) 推荐(0)
摘要:一、AOP(Aspect Orient Programming)面向切面编程 Aspect: 切面,给你的目标类增加的功能,就是切面。 像上面用的日志,事务都是切面。 切面的特点: 一般都是非业务方法,独立使用的。 Orient:面向, 对着。 Programming:编程 oop: 面向对象编程 阅读全文
posted @ 2021-07-27 00:19 Brack_Pearl 阅读(73) 评论(0) 推荐(0)
摘要:动态代理 动态代理是指,程序在整个运行构成中根本就不存在目标类的代理类,目标对象的代理对象只是由代理生成工具(不是真实定义的类)在程序运行时由JVM根据反射等机制动态生成的。代理对象与目标对象的代理关系在程序运行时才确立。 一、JDK动态代理 动态代理的实现方式常用的有两种:使用JDK的Proxy, 阅读全文
posted @ 2021-07-26 00:30 Brack_Pearl 阅读(493) 评论(0) 推荐(0)
摘要:一、多配置文件的优势 1.每个文件的大小比一个文件要小很多,效率高 2.避免多人竞争带来的冲突 二、多文件的分配方式 1.按功能模块,一个模块一个配置文件 2.按类的功能,数据库相关的配置一个配置文件,做事务的功能一个配置文件,做service功能的一个配置文件等 阅读全文
posted @ 2021-07-24 23:41 Brack_Pearl 阅读(97) 评论(0) 推荐(0)
摘要:1.在resources目录下创建一个test.properties文件 2.在xml映射文件中获取test.properties文件的信息 <!--加载属性配置文件--> <context:property-placeholder location="classpath:test.properti 阅读全文
posted @ 2021-07-16 01:35 Brack_Pearl 阅读(106) 评论(0) 推荐(0)
摘要:引用类型@Resource@Resource 来自JDK中的注解,spring框架提供了对这个注解的功能支持,可以使用它给引用类型赋值 使用的也是自动注入原理,支持byName,byType,默认是byName位置:1.在属性定义的上面,无需set方法,推荐使用。 2.在set方法的上面 packa 阅读全文
posted @ 2021-07-15 12:52 Brack_Pearl 阅读(809) 评论(0) 推荐(0)
摘要:引用类型的注入可以使用@Autowired@Autowired:spring框架提供的注解,实现引用类型的赋值。spring中通过注解给引用类型赋值,使用的是自动注入原理,支持byName,byType@Autowired:默认使用的是byType自动注入位置:1)在属性定义的上面,无需set方法, 阅读全文
posted @ 2021-07-15 00:27 Brack_Pearl 阅读(2013) 评论(0) 推荐(0)
摘要:代码演示: @Value:简单类型的属性赋值 属性:value是string类型的,表示简单类型的属性值 位置:1.在属性定义的上面,无需set方法,推荐使用 2.在set方法的上面 package com.example.ba02; import org.springframework.beans 阅读全文
posted @ 2021-07-14 21:39 Brack_Pearl 阅读(68) 评论(0) 推荐(0)
摘要:spring中和@Component功能一致,创建对象的注解还有: 1.@Repository(用在持久层类的上面):放在dao的实现类上面,表示创建dao对象,dao对象是能访问数据库的。 2.@Service(用在业务层类的上面):放在service的实现类上面,创建service对象,serv 阅读全文
posted @ 2021-07-14 13:54 Brack_Pearl 阅读(49) 评论(0) 推荐(0)
摘要:通过spring的注解完成java对象的创建,属性。代替xml文件 实现步骤: 1.加入依赖 2.创建类,在类中加入注解 package com.example.ba01; import org.springframework.stereotype.Component; /*@Component:创 阅读全文
posted @ 2021-07-14 00:40 Brack_Pearl 阅读(2467) 评论(0) 推荐(1)
摘要:前面的笔记都是讲到基于XML配置文件的di,在实际开发中大部分是使用基于注解的di 1.基于注解的di:通过注解完成java对象创建,属性赋值 2.使用注解的步骤: 1)加入maven依赖 spring-context,在你加入spring-context的同时,间接加入spring-aop的依赖。 阅读全文
posted @ 2021-07-13 23:35 Brack_Pearl 阅读(78) 评论(0) 推荐(0)