当前位置: 首页 > wzjs >正文

上海定制化网站开发wordpress uc点赞

上海定制化网站开发,wordpress uc点赞,无锡做网站哪里好,网站后台示演bean的生命周期,按照最重要五步 第一步:实例化bean,调用无参构造方法(通过BeanDefinition利用反射实例化Bean对象(无参数构造方法) 并通过推断构造方法...并放入三级缓存中..) 第二步:给bean属性赋值(调用…

bean的生命周期,按照最重要五步

第一步:实例化bean,调用无参构造方法(通过BeanDefinition利用反射实例化Bean对象(无参数构造方法) 并通过推断构造方法...并放入三级缓存中..
第二步:给bean属性赋值(调用set方法)(依赖注入 循环依赖问题(三级缓存))
第三步:初始化bean(会调用bean的init方法,注意,这个init需要自己去配自己写)
第四步:使用bean
第五步:销毁bean (需要调用destroy方法,需要自己写,自己配)
 


public class User {private String username;public User() {System.out.println("第一步,无参构造执行");}public void setUserName(String username) {System.out.println("第二步,给构造方法中的属性赋值");this.username = username;}public void initBean(){System.out.println("第三步初始化Bean");}
-------------------------public void  destroy(){System.out.println("第五步销毁Bean");}
}
<!--    手动指定初始化方法和销毁方法--><bean id="userBean" class="com.bili.spirng.domain.User" init-method="initBean" destroy-method="destroy">在初始化之前执行,user方法都被调用了<property name="userName" value="cccccccc"></property></bean>
</beans>

七步: 在初始化的前和后

/**
 * 第一步:实例化bean,调用无参构造方法
 * 第二步:给bean属性赋值(调用set方法)
在这里会执行bean后处理器的Before方法

该接口的before和after方法里可以完成对bean属性的读取 修改等..
 * 第三步:初始化bean(会调用bean的init方法,注意,这个init需要自己去配自己写)
在这里会执行Bean后处理器的after方法

一般AOP是在这里实现的==>AbstractAutoProxyCreator()..
 * --------------到这步就基本完成了-------------------
 * 第四步:使用bean
 * 第五步:销毁bean (需要调用destroy方法,需要自己写,自己配)
 *
 */

<!--    强调这个处理器:将作用于整个当前配置文件的bean对象,会自己去调用,先自己写类--><bean id="LogBeanPostProcessor" class="com.bili.spirng.domain.LogBeanPostProcessor"></bean>
</beans>
/*** 日志后处理器* 这两个参数,第一个传入刚创建出来的bean对象,第二个参数传入bean的名称(会自己去传)* 但是你写好后还不行,还是得配进去让Spring管理器起来 注意一旦bean创建起来就会去自动执行,
比方说我们不需要再去user这个对象里面自己去配置before 以及 after 去调用*/
public class LogBeanPostProcessor implements BeanPostProcessor {@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {System.out.println("执行bean:"+beanName+"后处理器的before");return BeanPostProcessor.super.postProcessBeforeInitialization(bean, beanName);}@Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {System.out.println("执行bean:"+beanName+"后处理器的after");return BeanPostProcessor.super.postProcessAfterInitialization(bean, beanName);}
}

十步:都是在检查是否对象实现了特定的接口,那么如果实现了,Spring会调用这个接口的方法
1.在bean后处理器before方法之前会检查是否实现aware接口
2.在bean后处理器before方法之后, 检查Bean是否实现了InitializingBean接口
3.使用bean之后,或者销毁bean前

/**
 * 第一步:实例化bean,调用无参构造方法
 * 第二步:给bean属性赋值(调用set方法)

(新增)before方法之前:

 这时候新实现了这三个之一的接口aware。每个对象都会去判断,如果说实现了,那我Spring就调用setBeanClassLoader,setBeanFactory或者setBeanName之一(这里我都写了)

作用:可以用来获取信息..

看你继承了哪个,重点并自己传入参数,假如说以后有个需求让你使用bean的名字那么我就去继承BeanNameAware去调用setBeanName的方法,那么spring已看你实现了接口,那我就去调这个方法,把这个名称传进去,不用我们人为传,就是传数据让你使用罢了吧。

在这里会执行bean后处理器的Before方法、

新增:before之后:执行InitializingBean(可以完成一些属性的赋值操作)

 * 第三步:初始化bean(会调用bean的init方法,注意,这个init需要自己去配自己写)
在这里会执行Bean后处理器的after方法
 * --------------到这步就基本完成了-------------------
 * 第四步:使用bean


检查Bean是否实现了DispoableBean接口,并执行销毁方法


 * 第五步:销毁bean (需要调用destroy方法,需要自己写,自己配)
 *
 */
 * 以上都可以在某个点位执行你想要的结果


public class User implements BeanFactoryAware , BeanClassLoaderAware, InitializingBean , DisposableBean {private String username;public User() {System.out.println("第一步,无参构造执行");}public void setUserName(String username) {this.username = username;System.out.println("第二步,给构造方法中的属性赋值 username:"+username);}public void initBean(){System.out.println("第三步初始化Bean");}public void  destroyBean(){System.out.println("第五步销毁Bean");}@Overridepublic void setBeanFactory(BeanFactory beanFactory) throws BeansException {System.out.println("生产"+beanFactory);}@Overridepublic void setBeanClassLoader(ClassLoader classLoader) {System.out.println(classLoader);}@Overridepublic void afterPropertiesSet() throws Exception {System.out.println("init被调用了");}@Overridepublic void destroy() throws Exception {System.out.println("销毁前");}
}

补充:

- BeanPostProcessor后置处理器是对所有Bean的初始化前后进行拦截...
- Aware InitializingBean等都是针对某个Bean的初始化前后做的处理...


文章转载自:

http://1jwgpZwj.spsqr.cn
http://I3rvB0bR.spsqr.cn
http://9kxFQzsD.spsqr.cn
http://3Spn15UB.spsqr.cn
http://MAePXzSS.spsqr.cn
http://QccuAbyE.spsqr.cn
http://n2PwqaAE.spsqr.cn
http://ANdH7vOv.spsqr.cn
http://KiN0trXz.spsqr.cn
http://ezuTgWa2.spsqr.cn
http://lSCaQbYS.spsqr.cn
http://UMGCxboy.spsqr.cn
http://LTCpipgC.spsqr.cn
http://p96PTKoJ.spsqr.cn
http://PnYqhHCp.spsqr.cn
http://cIkHKIsB.spsqr.cn
http://PtnDbLgh.spsqr.cn
http://HBdHhEjG.spsqr.cn
http://QTGOIDzQ.spsqr.cn
http://qKMVGquK.spsqr.cn
http://8c9OL7tD.spsqr.cn
http://4o85h79k.spsqr.cn
http://k55HdOMt.spsqr.cn
http://BpJg3hqB.spsqr.cn
http://Gv49uY8q.spsqr.cn
http://pijQmk0D.spsqr.cn
http://AvxZUQvm.spsqr.cn
http://9VkUj1wg.spsqr.cn
http://ZNYBR99Y.spsqr.cn
http://pPGNWfrI.spsqr.cn
http://www.dtcms.com/wzjs/701325.html

相关文章:

  • 房产网站建设的目的oa管理系统报价
  • 西宁网站搭建淘客网站怎么做淘口令
  • 一学一做腾讯视频网站吗最新互联网企业排名
  • 什么公司需要网站建设网站制作有名 乐云践新专家
  • 收费用的网站怎么做英国做deal的网站
  • 自己建设网站赚钱wordpress国内访问不了
  • 注册网站云空间昆山企业网站建设
  • 安陆做网站多少钱大宗商品交易平台建设方案
  • 免费做公益网站wordpress分行符
  • 淮安建设网站怎么建设咨询网站
  • 零点研究咨询集团官方网站建设wordpress 更新提示
  • 广州建站公司兴田德润活动网站建设教程 项目式
  • 佛山市网站建设企业有哪些做买家秀的网站
  • 潍坊做网站的网站建设方案书 个人备案
  • 新手如何建网站杭州软件开发定制公司
  • 凡科建站提示网站建设中wordpress免费好用主题
  • 常见门户网站的功能上海展台设计搭建
  • 深圳wap网站建设海南seo排名
  • 上海个人医疗网站备案表万网部署wordpress发不出邮件
  • 哪些网站可以做免费外贸注册公司的网站
  • wordpress 七牛云上传图片如何寻找seo网站建设客户
  • 廊坊哪里做网站建筑公司网站页面图片
  • 怎么做网站黑链logo设计软件手机版
  • 爱站网自媒体数据搜索引擎最新排名
  • 扬中网站建设方案最专业的网站建设推广
  • 怎么样查询建设网站wordpress添加微信公众号
  • 怎样只做自己的网站搜狐快站官网
  • 贵阳营销网站建设公司沈阳网站建设小志
  • 网站网页设计培训班学生求职网站的需求分析怎么做
  • 程序员自学网站wordpress查看浏览量