什么是spring Bean?
在 Spring 中,构成应用程序主干并由Spring IoC容器管理的对象称为bean。bean是一个由Spring IoC容器实例化、组装和管理的对象。
Spring bean的生命周期
class---->构造方法(推断构造方法)---->实例化---->对象---->属性填充populateBean---->初始化afterPropertiesSet---->AOP(代理对象:如果实现了的话)---->放入单例池---->(单例)Bean

AOP
1.要不要使用AOP
- 从容器里面拿到所有的切面Bean---->Map
- 匹配切点
2.怎样实现AOP cglib----->代理对象
代理类----->代理对象
class UserServiceProxy extend UserService{
private UserService target;
public void test(){
//1.执行代理逻辑方法
//2.执行业务逻辑方法
target.test();
}
}
代理类----->代理对象
//Spring事务
class UserServiceProxy extend UserService{
private UserService target;
public void test(){
//建立数据库连接Conn
//事务管理器的DataSource Conn.autocommit = false;
target.test();
//提交commit
}
}
判断对象是否实现了InitializingBean接口,实现了Spring会自动调用afterPropertiesSet方法。是Spring提供的一种扩展机制,主要用于默认值赋值以及属性验证。
单例池 ConcurrentHashMap<beanName,单例Bean对象>
Spring创建对象
- new
- 构造方法,反射
单例Bean:通过相同的名字,拿到相同的对象。
Spring框架中的核心组件是bean,它们由IoC容器管理,经历从类到对象的完整生命周期,包括实例化、属性填充和初始化。AOP(面向切面编程)用于增强bean的功能,如事务管理。Spring通过CGLIB创建代理对象实现AOP。单例bean会被存放在一个池中,确保每次获取到的是同一个实例。
1055

被折叠的 条评论
为什么被折叠?



