当前位置:首页 > 经验 >

bean的基本知识(bean注解的使用方法)

来源:原点资讯(www.yd166.com)时间:2022-11-01 13:48:16作者:YD166手机阅读>>

图片看不清的话,看文字吧:

四月 07, 2015 3:43:54 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from class path resource [beans.xml]

----------------实例化bean----------------------

InstantiationAware BeanPostProcessor. postProcess BeforeInstantiation

InstantiationAware BeanPostProcessor.postProcess AfterInstantiation

Instantiation AwareBeanPostProcessor.postProcess PropertyValues

----------------初始化bean----------------------

调用BeanNameAware.setBeanName()。

调用BeanFactoryAware.setBeanFactory()。

调用BeanPostProcessor.postProcess BeforeInitialization(), 将salary调整为800。

调用InitializingBean.afterPropertiesSet()。

调用init-method所指定的myInit(),将salary设置为600。

调用BeanPostProcessor.postProcess AfterInitialization(), getWorkType为空,设置为默认临时工

第一次从容器中获取worker

name:小强;workType:临时工;salary:600

修改第一次从容器中获取worker的workType

第一次从容器中获取worker(修改过后的)

name:小强;workType:正式工;salary:600

第二次从容器中获取worker

name:小强;workType:正式工;salary:600

查看worker1和worker2是否指向同一引用

worker1==worker2:true

四月 07, 2015 3:43:54 下午 org.springframework.beans.factory.xml.XmlBeanFactory destroySingletons

信息: Destroying singletons in org.springframework.beans.factory.xml.XmlBeanFactory@16905e: defining beans [worker]; root of factory hierarchy

----------------销毁bean----------------------

调用DisposableBean.destroy()。

调用destroy-method所指定的myDestroy()。

我们可以看到第二次获取worker时,直接从容器的缓存中获取,它们两个的指向的是同一个引用!切记!

四、ApplicationContext与beanfactory的区别

从ApplicationContext应用上下文容器中获取bean和从bean工厂容器中获取bean的区别?

具体案例:

1、从ApplicationContext中获取bean

ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");

当我们去实例化beans.xml,该文件中配置的bean被实例化,(该bean的scope是singleton(单例))

2、如果我们使用beanfactory去获取bean,当你只是实例化该容器,那么容器的bean不被实例化,只有当你去使用getBean某个bean时(感谢hemi1995指出错别字),才会实时的创建

BeanFactory factory = new XmlBeanFactory(new ClassPathResource("beans.xml"));

factory.getBean("student");

结论:

1、如果使用ApplicationContext,则配置的bean如果是singleton(单例)不管你用不用都被实例化,好处就是可以预先加载,坏处是浪费内存,

2、如果是用BeanFactory,则当你实例化该对象的时候,配置的bean不会被马上实例化,当你使用的时候才会被实例化(就像延缓加载机制)好处就是节约内存,缺点是速度回降慢,

3规则:一般没有特殊的要求,应当使用ApplicationContext完成(90%以上的项目)

使用ApplicationContext三种经常用到的实现:

1、ClassPathXmlApplicationContext->从类路径加载

2、FileSystemXmlApplicationContext->从文件系统加载

举例:ApplicationContext ac = newFIleSystemXmlApplicationContext("C:\Users\Workspaces\MyEclipse

8.5\myspring\src\com\zqx\inter\beans.xml");

3、XmlWebApplicationContext->从web系统中加载(当tomcat启动的时候加载)

欢迎微信搜索关注:java进阶架构师私信关键字【架构】即可获取免费最新的2018Java架构学习资料(里面有并发编程、高性能及分布式、Jvm性能调优、Spring源码,redis深入,Springboot cloud等多个知识点的架构资料)

最新活动,双十一包邮送15本实体书,快快搜索公众号来参与吧!

bean的基本知识,bean注解的使用方法(17)

---------------------

作者:一杯甜酒

来源:CSDN

原文:https://blog.csdn.net/u012562943/article/details/50469095

版权声明:本文为博主原创文章,转载请附上博文链接!

栏目热文

springboot启动原理面试(spring boot自动启动原理面试)

springboot启动原理面试(spring boot自动启动原理面试)

SpringBoot的启动流程不管是用springboot开发还是面试,都需要对SpringBoot的启动流程所了解。下...

2022-11-01 14:22:24查看全文 >>

java中bean的生命周期(怎么理解java中的bean)

java中bean的生命周期(怎么理解java中的bean)

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周...

2022-11-01 14:23:53查看全文 >>

类加载的5个过程详解(类加载器和双亲委派机制)

类加载的5个过程详解(类加载器和双亲委派机制)

# 类加载过程加载, 验证, 准备, 解析, 初始化下面依次说说...

2022-11-01 14:04:06查看全文 >>

...

1970-01-01 08:00:00查看全文 >>

springboot三大核心原理(spring boot核心技术笔记)

springboot三大核心原理(spring boot核心技术笔记)

Spring Boot核心原理通过上篇的学习,读者应该对Spring Boot有了一个大致的认识,利用Spring Bo...

2022-11-01 13:55:26查看全文 >>

springbean生命周期(spring三大核心原理)

springbean生命周期(spring三大核心原理)

1.Bean生命周期简单概述 2.BeanPostProcessor作用 3.BeanPostProcessor实现增强...

2022-11-01 13:49:32查看全文 >>

spring bean生命周期面试题(简述spring bean生命周期)

spring bean生命周期面试题(简述spring bean生命周期)

今天阿粉给大家带来的是关于Spring的另外的一道高频面试题,而且是非常非常高频的面试题,那就是Spring中的Bean...

2022-11-01 14:23:58查看全文 >>

springboot自动配置原理(springboot注解大全)

springboot自动配置原理(springboot注解大全)

配置文件能写什么?相信接触过 SpringBoot 的朋友都知道 SpringBoot 有各种 starter 依赖,想...

2022-11-01 13:42:12查看全文 >>

spring三级缓存(spring三级缓存图解)

spring三级缓存(spring三级缓存图解)

1. 循环依赖什么是依赖注入?假设有两个类A和B,A在实例化的时候需要B的实例,而B在实例化时又需要A的实例,在类的实例...

2022-11-01 14:08:09查看全文 >>

java bean 生命周期(spring生命周期图解)

java bean 生命周期(spring生命周期图解)

1. 引言“请你描述下 Spring Bean 的生命周期?”,这是面试官考察 Spring 的常用问题,可见是 Spr...

2022-11-01 14:15:39查看全文 >>

文档排行