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

中国二级建造师网官网哈尔滨网站建设 seo

中国二级建造师网官网,哈尔滨网站建设 seo,竞价推广账户竞价托管公司,如何搭建网络SpringBean的生命周期 SperingBean的生命周期是从Bean实例化之后#xff0c;即通过反射创建出对象之后#xff0c;到Bean成为一个完整对象#xff0c;最终存储到单例池中#xff0c;这个过程被称为Spring Bean的生命周期。Spring Bean的生命周期大体上分为三个阶段 Bean的…SpringBean的生命周期 SperingBean的生命周期是从Bean实例化之后即通过反射创建出对象之后到Bean成为一个完整对象最终存储到单例池中这个过程被称为Spring Bean的生命周期。Spring Bean的生命周期大体上分为三个阶段 Bean的实例化阶段Spring框架会取出BeanDefiniton的信息进行判断当前Bean的范围是否是singleton的是否不是延迟加载的是否不是FactoryBean等最终将一个普通的singleton的Bean通过反射加载类进行实例化Bean的初始化阶段着重研究Bean创建之后还仅仅是个半成品还需要对Bean实例的属性进行填充、执行一些Aware接口方法、执行BeanPostProcessor方法执行InitializingBean接口的初始化方法、执行自定义初始化init方法等。该阶段是Spring最具有技术含量和复杂程度的阶段AOP增强功能后面学习的Spring的注解功能等、spring高频面试题Bean的循环引用问题都是在这个阶段体现的Bean的完成阶段经过初始化阶段Bean就成为了一个完整的Spring Bean被存储到单例池singletonObjects中即完成了Spring Bean的整个生命周期。 Spring Bean的初始化阶段涉及过程 Bean实例属性的填充Aware接口属性的注入BeanPostProcessor的before方法回调InitializingBean接口的初始化方法回调自定义初始化方法init回调BeanPostProcessor的after方法回调 Bean实例属性填充 BeanDefinition中对当前Bean实体的注入信息通过属性propertyValue进行了储存例如UserService的属性信息如下 bean iduserService classcom.example.Service.Impl.UserServiceImplproperty nameuserDAO refuserDAO/propertyproperty namename valuehhhh/property/beanbean nameuserDAO classcom.example.DAO.Impl.UserDAOImpl/bean 属性注入的三种情况 注入普通属性Stringint或存储基本类型的集合时直接通过set方法反射设置进去 上述属性name对应类中的set方法注入单向对象引用属性时从容器中getBean获取后通过set方法反射设置进去如果容器中没有则先创建被注入对象Bean实例完成整个生命周期后再进行注入操作 上述UserDAO属性的注入根据配置文件中bean的位置不同进行的顺序也不一样主要代码如下UserServiceImpl类 package com.example.Service.Impl;import com.example.DAO.UserDAO; import com.example.Service.UserService;public class UserServiceImpl implements UserService {public UserServiceImpl() {System.out.println(UserService对象创建);}private UserDAO userDAO;private String name;public void setName(String name) {this.name name;}public void setUserDAO(UserDAO userDAO) {System.out.println(UserService执行注入UserDAO的操作:setDAO方法);this.userDAO userDAO;}Overridepublic void show() {System.out.println(show~~~);} }UserDAOImpl类 package com.example.DAO.Impl;import com.example.DAO.UserDAO;public class UserDAOImpl implements UserDAO {public UserDAOImpl() {System.out.println(UserDAO对象创建);} }测试类 package com.example.Test;import com.example.Service.UserService; import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestApplicationContext {public static void main(String[] args) {ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext(application.xml);UserService UserServiceBean (UserService) context.getBean(UserService.class);} }   若配置文件中先创建UserADO的bean对象 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean classcom.example.PostProcessor.TimeLogBeanPostProcessor/bean!-- bean iduserService classcom.example.Service.Impl.UserServiceImpl--!-- /bean--!-- bean iduserDAO classcom.example.DAO.Impl.UserDAOImpl--!-- /bean--!-- alias nameuserDAO aliasxxx/--!-- alias nameuserDAO aliasyyy/--bean nameuserDAO classcom.example.DAO.Impl.UserDAOImpl/beanbean iduserService classcom.example.Service.Impl.UserServiceImplproperty nameuserDAO refuserDAO/propertyproperty namename valuehhhh/property/bean/beans 测试类运行结果为 若配置文件中先创建UserService的bean对象 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean classcom.example.PostProcessor.TimeLogBeanPostProcessor/bean!-- bean iduserService classcom.example.Service.Impl.UserServiceImpl--!-- /bean--!-- bean iduserDAO classcom.example.DAO.Impl.UserDAOImpl--!-- /bean--!-- alias nameuserDAO aliasxxx/--!-- alias nameuserDAO aliasyyy/--bean iduserService classcom.example.Service.Impl.UserServiceImplproperty nameuserDAO refuserDAO/propertyproperty namename valuehhhh/property/beanbean nameuserDAO classcom.example.DAO.Impl.UserDAOImpl/bean/beans 运行结果如下 注入双向对象引用属性时就比较复杂了涉及循环引用循环依赖问题下面会详细阐释解决方案。明天再来女朋友来了不能学习了p51
http://www.hkea.cn/news/14577906/

相关文章:

  • 网站建设 zzit6小白的博客 wordpress
  • 医疗设备网站建设怎么做友情链接交换平台
  • 企业网站网上推广的途径seo是搜索引擎营销
  • 深圳赶集同城网站建设网站运营的内容
  • 网站收缩广告Sierra wordpress
  • 做设计素材网站医院图书馆网站建设的意义
  • 公司网站改版方案盛世深圳中国网站制作哪家公司好
  • 建一个网站的程序沈阳模板建站方案
  • 网站建设合同百度文库成都品牌logo设计
  • 济南建手机网站公司360建设网站免费
  • 怎么做百度口碑网站查看邮箱注册的网站
  • 网站挂马解决wordpress 4.7.5 中文
  • 免费网站空间 asp.net国内永久免费云服务器9930
  • 机械网站怎么做网页微信截图快捷键
  • 网站只做静态页面安全受到影响没有地址如何注册公司
  • 温州市建设工程招投标网站photoshop破解版
  • 用照片做视频的模板下载网站好医疗机构网站
  • 如何做网站图标网站喜报怎么做
  • 网站建设介绍语网站开发 工具
  • 教育网站 前置审批巴州建设工程信息网
  • 网站做的最好的网站有哪些棠下手机网站建设报价
  • 网站建设大作业论文店铺网页设计图片
  • 项目网站开发js放的位置app界面设计风格
  • 哪种语言做的网站好wordpress金融模板下载
  • 林甸网站建设求几个能用的地址2021
  • 高端 建站建设部网站网站建设
  • 拥有响应式网站江门小程序制作
  • html5网站开发框架将一个网站拉入黑名单怎么做
  • 中国国际贸易单一窗口网站伪网站建站
  • 秦皇岛企业建设网站wordpress固定链接标签