什么是ioc
![](https://img-blog.csdnimg.cn/585ba263b23a4aa1a965fc009e49b1b6.png)
![](https://img-blog.csdnimg.cn/a44ecb121efb4d2c9158a6327e515bd2.png)
spring里面的含义
lib:文件包
advice:增强类
config:注解
dao:接口与类
serlset:实现类
advice(增强类)
@Component
@Aspect
public class Addjia {
@Before("execution(* *..BookSert.*(..))")
public void weq() {
System.out.println("ze");
}
@AfterReturning("execution(* *..BookSert.*(..))")
public void weqa() {
System.out.println("大大大");
}
@AfterThrowing("execution(* *..BookSert.*(..))")
public void qwe() {
System.out.println("培根后牛肉汉堡");
}
@After
public void qwes() {
System.out.println("风味牛肉汉堡");
}
}
config:注解
package com.tian.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
@Configuration
@ComponentScan("com.tian")
@EnableAspectJAutoProxy
public class SpringConfig {
}
dao:接口与类
@Component
public class BookSert implements BookService {
@Override
public void save() {
System.out.println("123");
}
@Override
public void add() {
System.out.println("锦鲤");
}
@Override
public void del() {
System.out.println("木遁");
}
@Override
public void sqwe() {
System.out.println("水垢");
}
}
接口
public interface BookService {
public void save();
public void add();
public void del();
public void sqwe();
}
AOP的作用:
- 面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式弥补了面向对象编程(OOP)的不足。
- 利用AOP对业务逻辑的各个部分进行隔离,降低业务逻辑的耦合性,提高程序的可重用型和开发效率。
-
主要用于对同一对象层次的公用行为建模
-
对于ioc的理解
-
IOC的理解
传统开发中,需要调用对象的时候,需要调用者手动来创建被调用者的实例,即对象是由调用者new出来的
但是在Spring框架中,创建对象的工作不再由调用者来完成,而是交给IOC容器来创建,再推送给调用者,整个流程完成反转,所以是控制反转
事务
了解事务:
事务(Transaction)是访问并可能更新数据库中各项数据项的一个程序执行单元(unit)。 事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。
事务结束有两种,事务中的步骤全部成功执行时,提交事务。如果其中一个失败,那么将会发生回滚操作,并且撤销之前的所有操作。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。
事务是恢复和并发控制的基本单位
事务具有四个特征
原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。
一致性(Consistency):事务必须使数据库从一个一致性状态变换到另外一个一致性状态
隔离性(Isolation):事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性(Durability): 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响