IOC操作Bean管理注解《二》

IOC 操作 Bean 管理(bean 生命周期)

1、生命周期
(1)从对象创建到对象销毁的过程
2、bean 生命周期
(1)通过构造器创建 bean 实例(无参数构造)
(2)为 bean 的属性设置值和对其他 bean 引用(调用 set 方法)
(3)调用 bean 的初始化的方法(需要进行配置初始化的方法)
(4)bean 可以使用了(对象获取到了)
(5)当容器关闭时候,调用 bean 的销毁的方法(需要进行配置销毁的方法)

3、演示 bean 生命周期
image

在配置文件中进行配置,上述所说,第三步配置初始化的方法,在<bean>中有init-method属性,该属性可以存放你在Order类中声明的想要初始化的方法比如我的:initMethod()。
第五步,销毁方法,同样的在<bean>标签中有个属性destroy-method将你在Oerder类中声明的想要销毁的方法填进去即可。比如我的:destoryMethod()。具体看如下配置:
image
如果需要销毁,还需手动的进行调用 ApplicationContext中的close方法。
image

bean 的后置处理器,bean 生命周期有七步

(1)通过构造器创建 bean 实例(无参数构造)
(2)为 bean 的属性设置值和对其他 bean 引用(调用 set 方法)
(3)把 bean 实例传递 bean 后置处理器的方法 postProcessBeforeInitialization
(4)调用 bean 的初始化的方法(需要进行配置初始化的方法)
(5)把 bean 实例传递 bean 后置处理器的方法 postProcessAfterInitialization
(6)bean 可以使用了(对象获取到了)
(7)当容器关闭时候,调用 bean 的销毁的方法(需要进行配置销毁的方法)

演示添加后置处理器效果
(1)创建类,实现接口 BeanPostProcessor,创建后置处理器
image

并且在配置文件中,创建实现类的实例,创建后,它对整个xml页面中的所有bean实例都有了后置处理器。
image

具体执行的效果如下。
image

IOC 操作 Bean 管理(xml 自动装配)

1、什么是自动装配
(1)根据指定装配规则(属性名称或者属性类型),Spring 自动将匹配的属性值进行注入
2、演示自动装配过程 在bean标签中有一个autowire属性
(1)根据属性名称自动注入
image

IOC 操作 Bean 管理(外部属性文件)

这里以数据库连接池为讲解。
1、直接配置数据库信息
(1)配置德鲁伊连接池
(2)引入德鲁伊连接池依赖 jar 包
image

在配置文件中直接配置。
image

2、引入外部属性文件配置数据库连接池
(1)创建外部属性文件,properties 格式文件,写数据库信息
image

(2)把外部 properties 属性文件引入到 spring 配置文件中

  • 引入 context 名称空间
    image
  • 在 spring 配置文件使用标签引入外部属性文件
    image

IOC 操作 Bean 管理(基于注解方式)

1、什么是注解
(1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值..)
(2)使用注解,注解作用在类上面,方法上面,属性上面
(3)使用注解目的:简化 xml 配置

2、Spring 针对 Bean 管理中创建对象提供注解
(1)@Component
(2)@Service
(3)@Controller
(4)@Repository

  • 上面四个注解功能是一样的,都可以用来创建 bean 实例

3、基于注解方式实现对象创建

  • 第一步 引入依赖
    在配置基础的Spring框架中还要再次引入一个jar包
    image

  • 第二步 在配置文件中 开启组件扫描
    image

  • 第三步 创建类,在类上面添加创建对象注解
    image

测试!
image

4、开启组件扫描细节配置
image

5、基于注解方式实现属性注入
(1)@Autowired:根据属性类型进行自动装配
第一步 把 service 和 dao 对象创建,在 service 和 dao 类添加创建对象注解
第二步 在 service 注入 dao 对象,在 service 类添加 dao 类型属性,在属性上面使用注解
image

image

(2)@Qualifier:根据名称进行注入
这个@Qualifier 注解的使用,和上面@Autowired 一起使用
(3)@Resource:可以根据类型注入,可以根据名称注入
看上面的图即可

(4)@Value:注入普通类型属性
image

6、完全注解开发

(1)创建配置类,替代 xml 配置文件
image
(2)编写测试类
其它的属性注入与第五步相同,就是测试或者说是读取配置文件有差异,详细如图所示
image

posted @   自学Java笔记本  阅读(63)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示