仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 533|回复: 10
打印 上一主题 下一主题

[学习教程] 来看spring进门(4) spring中Bean的性命周期总结

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:02:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在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代码以下:
  1. packagewww.csdn.spring.dao;
  2. importorg.springframework.beans.BeansException;
  3. importorg.springframework.beans.factory.BeanFactory;
  4. importorg.springframework.beans.factory.BeanFactoryAware;
  5. importorg.springframework.beans.factory.BeanNameAware;
  6. importorg.springframework.beans.factory.DisposableBean;
  7. importorg.springframework.beans.factory.InitializingBean;
  8. importorg.springframework.context.ApplicationContext;
  9. importorg.springframework.context.ApplicationContextAware;
  10. publicclassHelloDaoImplimplementsBeanNameAware,BeanFactoryAware,
  11. InitializingBean,ApplicationContextAware,DisposableBean{
  12. privateStringcontent;
  13. publicHelloDaoImpl(){
  14. System.out.println("----------HelloDaoImpl实例化");
  15. }
  16. publicvoidsetContent(Stringcontent){
  17. System.out.println("----------经由过程依附注进的内容是:"+content);
  18. this.content=content;
  19. }
  20. @Override
  21. publicvoidsetBeanName(StringbeanId){
  22. System.out.println("----------输入BeanId:"+beanId);
  23. }
  24. @Override
  25. publicvoidsetBeanFactory(BeanFactoryfactory)throwsBeansException{
  26. System.out.println("----------factory:"+factory.getClass());
  27. }
  28. @Override
  29. publicvoidsetApplicationContext(ApplicationContextapplicationContext)
  30. throwsBeansException{
  31. System.out.println("----------"+applicationContext);
  32. }
  33. @Override
  34. publicvoidafterPropertiesSet()throwsException{
  35. System.out.println("----------afterPropertiesSet");
  36. }
  37. publicvoidinit(){
  38. System.out.println("----------初始化办法");
  39. }
  40. @Override
  41. publicvoiddestroy()throwsException{
  42. System.out.println("----------bean被烧毁");
  43. }
  44. publicvoidclose(){
  45. System.out.println("----------close");
  46. }
  47. }
复制代码
<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)的语言
深爱那片海 该用户已被删除
5#
发表于 2015-2-1 17:03:38 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
不帅 该用户已被删除
6#
发表于 2015-2-1 22:55:10 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
兰色精灵 该用户已被删除
7#
发表于 2015-2-7 15:46:30 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
活着的死人 该用户已被删除
8#
 楼主| 发表于 2015-2-22 11:57:42 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-7 00:21:19 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
老尸 该用户已被删除
10#
发表于 2015-3-13 23:07:30 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
海妖 该用户已被删除
11#
发表于 2015-3-20 21:17:26 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-16 14:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表