活着的死人 发表于 2015-1-18 11:02:29

来看spring进门(4) spring中Bean的性命周期总结

在1995年5月23日以“Java”的名称正式发布了。
Spring中Bean的性命周期,在进修spring的过程当中bean的性命周期了解对进修spring有很年夜的匡助,上面我就分离先容在ApplicationContext和BeanFactory中Bean的性命周期。
1、在ApplicationContext中Bean的性命周期
性命周期实行的历程以下:
1、需找一切的bean依据bean界说的信息来实例化bean
2、利用依附注进,spring按bean界说信息设置bean的一切属性
3、若bean完成了BeanNameAware接口,工场挪用Bean的setBeanName()办法传送bean的ID。
4、若bean完成了BeanFactoryAware接口,工场挪用setBeanFactory()办法传进工场本身。
5、若bean完成了ApplicationContextAware()接口,setApplicationContext()办法会被挪用
6、若BeanPostProcessor和bean联系关系,
则它们的postProcessBeforeInitialization()办法被挪用
7、若bean指定了init-method="init"办法、,它将被挪用。
8、如有BeanPostProcessor和bean联系关系,
则它们的postProcessAfterInitialization()办法被挪用
注重:经由过程已上操纵,此时的Bean就能够被使用的体系利用,并讲保留在BeanFactory工场中直到不再必要为止.但我们也能够经由过程9大概10举行烧毁
9、若bean完成了DisposableBean接口,distroy()办法被挪用
10、假如指定了destroy-method="close"定制的烧毁办法,就挪用这个办法
案例剖析:
创立一个实体Bean代码以下:

packagewww.csdn.spring.dao;


importorg.springframework.beans.BeansException;

importorg.springframework.beans.factory.BeanFactory;

importorg.springframework.beans.factory.BeanFactoryAware;

importorg.springframework.beans.factory.BeanNameAware;

importorg.springframework.beans.factory.DisposableBean;

importorg.springframework.beans.factory.InitializingBean;

importorg.springframework.context.ApplicationContext;

importorg.springframework.context.ApplicationContextAware;


publicclassHelloDaoImplimplementsBeanNameAware,BeanFactoryAware,

InitializingBean,ApplicationContextAware,DisposableBean{


privateStringcontent;


publicHelloDaoImpl(){

System.out.println("----------HelloDaoImpl实例化");

}


publicvoidsetContent(Stringcontent){

System.out.println("----------经由过程依附注进的内容是:"+content);

this.content=content;

}


@Override

publicvoidsetBeanName(StringbeanId){

System.out.println("----------输入BeanId:"+beanId);

}


@Override

publicvoidsetBeanFactory(BeanFactoryfactory)throwsBeansException{

System.out.println("----------factory:"+factory.getClass());


}


@Override

publicvoidsetApplicationContext(ApplicationContextapplicationContext)

throwsBeansException{

System.out.println("----------"+applicationContext);


}


@Override

publicvoidafterPropertiesSet()throwsException{

System.out.println("----------afterPropertiesSet");

}


publicvoidinit(){

System.out.println("----------初始化办法");

}


@Override

publicvoiddestroy()throwsException{

System.out.println("----------bean被烧毁");


}


publicvoidclose(){

System.out.println("----------close");

}


}<p>
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。

山那边是海 发表于 2015-1-20 12:59:29

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

若相依 发表于 2015-1-24 14:00:41

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

简单生活 发表于 2015-2-1 16:24:28

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

深爱那片海 发表于 2015-2-1 17:03:38

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

不帅 发表于 2015-2-1 22:55:10

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

兰色精灵 发表于 2015-2-7 15:46:30

是一种语言,用以产生「小应用程序(Applet(s))

活着的死人 发表于 2015-2-22 11:57:42

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

飘飘悠悠 发表于 2015-3-7 00:21:19

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

老尸 发表于 2015-3-13 23:07:30

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

海妖 发表于 2015-3-20 21:17:26

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
页: [1]
查看完整版本: 来看spring进门(4) spring中Bean的性命周期总结