文章分类 -  Spring学习

1
摘要:首先把这些Bean用注解形式配置 这些能不能用注解配置呢?是可以的,但是只能通过@Bean注解来配置,因为他们代码并不是自定义的,不是自定义意味着不能拿到它的源码,加注解是要在源码上加的。所以呢我们有个原则,非自定义bean我们用配置,自定义bean我们用注解。 下面把自定义的bean用注解形式配置 阅读全文
posted @ 2022-04-18 09:36 长情c 阅读(68) 评论(0) 推荐(0)
摘要:首先要明白什么是切点,这里的切点就是业务层的方法,所以就要在配置文件中配置业务层的对象。 什么是通知?就是事务的增强也是需要在配置文件中配置的。 第三步就是把切点和切面完成aop的配置。 ##1.配置切点 <!--目标对象 内部的方法就是切点--> <bean id="accountService" 阅读全文
posted @ 2022-04-17 23:09 长情c 阅读(24) 评论(0) 推荐(0)
摘要:导入坐标 实体类 实体类对应一个表 Dao层的接口的实现 一个转出钱的方法一个转入钱的方法。 业务层调用Dao层 一个转账方法,一个转出人一个转入人,转出多少钱。 web层执行相应测试 测试方法后转出人-500,转入人+500 那么在哪里进行事务控制呢? 一般是在业务层进行业务控制,也就是trans 阅读全文
posted @ 2022-04-16 22:57 长情c 阅读(91) 评论(0) 推荐(0)
摘要:1.编程式事务控制相关对象 传播行为是什么? 传播行为主要解决调用业务方法时事务统一性的问题。 举个例子:假如有两个业务方法,a业务方法调用b业务方法,拿REQUIRED举例,下面同理。 b业务方法看A业务方法有没有事务,如果没有就新建一个事务,如果已经存在事务,则加入这个事务。 阅读全文
posted @ 2022-04-16 20:33 长情c 阅读(58) 评论(0) 推荐(0)
摘要:1.创建目标接口和目标类 2.创建切面类 3.将目标类和切面类的对象创建权交给spring 目标对象注解 切面类注解 4.在切面类中使用注解配置织入关系 5.在配置文件中开启组件扫描和AOP的自动代理 6.测试 同xml配置一样,在增强的时候会有相同切点表达式的情况,我们可以抽取出来。 抽取也很简单 阅读全文
posted @ 2022-04-16 16:03 长情c 阅读(38) 评论(0) 推荐(0)
摘要:1.导入Aop坐标 2.创建目标接口和目标类 3.创建切面类 package aop; public class MyAspect { public void before() { System.out.println("前置增强..."); } public void afterRun() { S 阅读全文
posted @ 2022-04-16 15:29 长情c 阅读(599) 评论(0) 推荐(0)
摘要:连接点就是可以被增强的方法,假如我们有100个目标对象,其中有100个方法可以被增强,那么那100个方法都可以叫连接点。 什么是切入点呢,就是真正配置被增强了,就是切入点。 切入点是我要增强的目标的方法,连接点是可以被增强的方法,只是我还没切入。 举个例子?假如我是一个工人我没有成为包工头之前就是连 阅读全文
posted @ 2022-04-16 10:06 长情c 阅读(31) 评论(0) 推荐(0)
摘要:因为cglib是第三方库,所以我们需要导入坐标。 导入坐标只需要导入spring-context就行了,因为spring-context下有一个core,core里面集成了cglib。 1.导入坐标 因为cglib动态代理没有接口,所以我们先创建目标对象。 2.创建目标对象 3.创建增强对象 4.创 阅读全文
posted @ 2022-04-14 21:07 长情c 阅读(34) 评论(0) 推荐(0)
摘要:1.创建目标接口 2.创建目标对象 3.创建增强对象(封装增强方法) 4.创建测试对象 阅读全文
posted @ 2022-04-14 20:11 长情c 阅读(20) 评论(0) 推荐(0)
摘要:假如我们的service层有许多的方法save()、update()、delete()它们都有一个引用日志控制功能,那我们可以把这个日志控制功能抽取出来,但是这样的话就紧耦合了。 AOP就是把它们每个功能的引用日志控制功能去掉,把save()、update()、delete()和日志控制写成单独的模 阅读全文
posted @ 2022-04-14 19:40 长情c 阅读(23) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-04-07 22:14 长情c 阅读(23) 评论(0) 推荐(0)
摘要:ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml"); 这里的spring配置文件名,因为写死了,所以耦合了,为了解耦的话,可以创建一个properties。 但是就这么一个地方就创 阅读全文
posted @ 2022-03-21 09:15 长情c 阅读(33) 评论(0) 推荐(0)
摘要:因为这里是web集成环境(这里用servlet),所以我们先导入maven坐标 ~~xml javax.servlet javax.servlet-api 3.0.1 provided javax.servlet.jsp javax.servlet.jsp-api 2.2.1 provided ~~ 阅读全文
posted @ 2022-03-20 23:26 长情c 阅读(42) 评论(0) 推荐(0)
摘要:因为Junit对spring的测试非常繁琐,所以spring提供对junit的集成方案 @ContextConfiguration这个注解通常与@RunWith(SpringJUnit4ClassRunner.class)联合使用用来测试 当一个类添加了注解@Component,那么他就自动变成了一 阅读全文
posted @ 2022-03-20 18:49 长情c 阅读(89) 评论(0) 推荐(1)
摘要:下面我们把xml用一个类来替换 //标志该类是Spring的核心配置类 @Configuration public class SpringConfiguration { } 思想就是用类来代替spring配置文件,用注解来代替标签 组件扫描可以用Component注解代替,里面的参数就是包的范围 阅读全文
posted @ 2022-03-20 16:09 长情c 阅读(49) 评论(0) 推荐(0)
摘要:##下面分别演示一下xml方式和注解方式看看区别 <bean id="userDao" class="com.dao.impl.UserDaoImpl"></bean> <bean id="userService" class="com.service.impl.UserServiceImpl"> 阅读全文
posted @ 2022-03-20 10:36 长情c 阅读(26) 评论(0) 推荐(0)
摘要:上一篇讲到无论是druid、c3p0等jar包都是第三方的,那么这种地方的bean能不能让spring配置呢? 答案是可以的,因为spring bean不会管你是不是第三方的还是自己定义的 那么怎么实现呢,最开始提到的是spring是通过无参构造创建对象的,如果想往里面设置点东西,就分为set注入和 阅读全文
posted @ 2022-03-20 09:23 长情c 阅读(35) 评论(0) 推荐(0)
摘要:首先我们看一下数据源的作用和数据源的开发步骤 ##第一步就是引入maven的坐标了 分别是:c3p0、junit、mysql、druid ##第二步在maven项目的test里面新建一个DataSource类 ##用来测试连接池的 首先获取数据库连接池 ComboPooledDataSource d 阅读全文
posted @ 2022-03-19 21:12 长情c 阅读(60) 评论(0) 推荐(0)
摘要:ApplicationContext是一个接口,而ClassPathXmlApplicationContext是它的实现类 &nbsp ##除了这个之外还有两个实现类 分别是绝对路径和注解配置时用到的 ###下面看一下getBean方法 第一种呢就是getBean方法里面的参数其实就是Bean标签的 阅读全文
posted @ 2022-03-18 16:41 长情c 阅读(103) 评论(0) 推荐(0)
摘要:#Import知识点 因为在一个spring中写的配置内容过多,所以我们可以将部分配置放到不同的配置文件中,所以我们可以在主配置中import标签加载 首先我们新建两个配置文件,applicationContext-product和applicationContext-user 然后在主配置文件中用 阅读全文
posted @ 2022-03-18 12:41 长情c 阅读(206) 评论(0) 推荐(0)

1