摘要: 1.spring-aop底层就是动态代理,例如有两个切面类(A_Aspect和B_Aspect)同时切目标方法 A_Aspect{ try{ @Before(前置通知) mthod.invoke(obj,args)或是环绕通知的pjp.procced(args){ >此时并没有真正的执行目标方法,而 阅读全文
posted @ 2022-05-08 21:20 努力的达子 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 1.声明式事物 2.编程式事物 事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作, 这些操作 1.要么都执行, 2.要么都不执行 1.事务的四个关键属性 1.原子性: 原子本意是不可再分,事物的原子性表现在一个事务中涉及到多个操作在逻辑上缺一不可。事务的原子性要求事务中的所 阅读全文
posted @ 2022-05-08 20:40 努力的达子 阅读(107) 评论(0) 推荐(0) 编辑
摘要: AOP:面向切面编程 OOP:面向对象编程 面向切面编程:基于OOP基础上的新的编程思想 只在程序云运行期间,将某段代码动态的切入到指定方法的指定位置进行与运行的这种编程方式 动态代理的实现: 需求:在方法执行前/执行后/异常动态的打印日志 实现原理:使用动态代理方式(底层是反射)执行 1.接口:定 阅读全文
posted @ 2022-05-06 22:03 努力的达子 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 示例: 1.bean层: 1.1 public class Book {} >模拟的两个实体类中没有具体属性 1.2 public class User {} 2.service层 2.1Book的service类: @Service >加入了service标签 public class BookS 阅读全文
posted @ 2022-05-06 21:40 努力的达子 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 使用spring的单元测试: 测试代码为: @ContextConfiguration(locations = "classpath:ioc.xml") @RunWith(SpringJUnit4ClassRunner.class) public class Test { @Autowired Bo 阅读全文
posted @ 2022-05-06 21:37 努力的达子 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 1.@Controller:控制器;我们推荐给控制器层(servlet)的组件加这个注解 2.@Service:业务逻辑;我们推荐业务逻辑层的组件添加这个注解 3.@Repository:给数据库层(持久层,dao层)的组件添加这个注解 4.@Component:给不属于以上几层的组件添加这个注解 阅读全文
posted @ 2022-05-06 21:35 努力的达子 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 1.可以使用字面量 2.引用其他bean 3.引用其他bean的某个属性‘ 4.调用非静态方法 5.调用静态方法 示例: 1.使用字面量(支持所有的运算符) >格式为#{} <bean id="person" class="entity.Person" > <property name="age" 阅读全文
posted @ 2022-05-06 21:16 努力的达子 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 1.autowire="byType" >以属性的类型作为查找依据去容器中找到这个组件 2.autowire="byName" private Car car; 以属性名(car)作为id去容器中找到这个组件,给他赋值;如果找不到就装配null; car=ioc.getBean("car"); 3. 阅读全文
posted @ 2022-05-05 22:32 努力的达子 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1.外部文件的config.properties username=wmd >此处需要注意的是:(username是spring的关键字,命名时需要避开,不要使用username) age=24 2.spring配置文件路径 2.1 <?xml version="1.0" encoding="UTF 阅读全文
posted @ 2022-05-05 22:27 努力的达子 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 容器(可以用来管理所有的组件(类)) 核心关注:IOC和AOP 1.IOC Inversion(反转) Of Control:控制反转 控制:资源的获取方式 1.主动式(要什么资源自己创建) Person{ Book book=new Book(); Dog dog=new Dog(); //复杂对 阅读全文
posted @ 2022-05-05 22:24 努力的达子 阅读(210) 评论(0) 推荐(0) 编辑