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

做网站好看的背景图片优质手机网站建设哪家好

做网站好看的背景图片,优质手机网站建设哪家好,官方网站如何做,wordpress制作上传图片宏观上看Spring创建对象的过程 对于对象而言#xff0c;可以分为简单对象和复杂对象#xff1b; 简单对象 简单对象指可以直接new的对象#xff1b; Spring在创建这些对象时#xff0c;是基于反射来完成的。复杂对象 复杂对象指不能直接new的对象。 比如#xff1a;要得到…宏观上看Spring创建对象的过程 对于对象而言可以分为简单对象和复杂对象 简单对象 简单对象指可以直接new的对象 Spring在创建这些对象时是基于反射来完成的。复杂对象 复杂对象指不能直接new的对象。 比如要得到接口类型的对象是不能直接new的需要使用其实现类来创建。但是有的其实现类也是不能直接new的比如Connection对象。 对于这种对象可以使用实现FactoryBean接口的方式来创建需要实现三个方法getObject() ------ 书写位置 ----- Spring工厂 回调 getObject()获得对象getObjectType()isSingleton() 也可以使用静态工厂或者实例工厂来创建 静态工厂MyFactory{public static Object getObject(){xxxxxxxxx}}bean id classxxx.MyFactory factory-methodgetObject/ 实例工厂MyFactory{public Object getObject(){}}bean idmyFactory classxxx.MyFactory/bean idproduct factory-beanmyFactory factory-methodgetObject/ 这仅仅完成了对象的创建。我们还要考虑为对象属性进行赋值也称为属性的注入。 Spring为创建的对象注入属性 注入的方式 set注入 bean idu classproperty ----------set注入 /bean会有两种注入的形式 程序员自己完成的注入 可以注入8种基本类型、自建类型通过ref的bean Spring容器自己的注入aware 实现BeanNameAware接口实现void setBeanName(String name)方法Spring容器自动调用它【谁调用谁就会传参】可以获取当前对象在工厂中的id(beanName)定义一个变量把它存起来就可以了 实现BeanFactoryAware接口实现void setBeanFactory(BeanFactory beanFactory)方法Spring容器自动调用它可以获取创建当前对象的工厂对象定义一个变量把它存起来就可以了。BeanFactoryAware接口的应用场景可以解决scopeprototype在注入过程中失效的问题。比如类A是单例的类B是多例的类A中有类B的成员变量b如果用set注入每一次获取都是一样的地址因为类A对象已经被创建出来并存储到容器里了再获取成员变量b时没有为其重新赋值。我们可以获取到工厂每次在a中使用b时都从容器中获取一次。 scopeprototype在注入过程中失效的解决方式还有一个lookup-method 但是用的少这两种方式先后顺序是怎样的呢——用户自己设置的set注入在前容器的注入在后。 构造注入 bean idu classconstructor-arg ——————构造注入 /beanautowire自动注入 如果在beans配置beans管理的所有bean都会自动注入 如果在bean配置此bean的属性会自动注入 工厂创建对象的完整流程 Spring工厂创建对象对属性进行set注入用户的set注入在前实现Aware接口容器的set注入在后set注入完成后得到的对象交给BeanPostProcessor中的postProcessBeforeInitialization(Object bean, String beanName)方法为对象进行加工参数bean就是待加工的bean返回值为加工好的bean为postProcessBeforeInitialization方法加工后的对象进行初始化有两种方式 第一种方式实现InitializingBean接口在前、第二种方式 指定init-method方法在后初始化后的对象交给BeanPostProcessor中的postProcessAfterInitialization(Object bean, String beanName)方法为对象进行加工参数bean就是待加工的bean返回值为加工好的bean最后得到加工好的对象用户可以进行使用工厂调用destroySingletons()方法工厂关闭销毁对象。 问题为什么还需要实现BeanPostProcessor接口为其增加功能不能在创建对象时直接写好呢? 答案:BeanPostProcessor接口中的方法可以为多个对象增加功能代码可以复用减少代码的冗余 加功能是可有可无的功能如果需要可以加上如果不需要就取消掉可以解决代码的耦合。 问题一般在BeanPostProcessor接口的哪个方法为对象增加功能呢? 答案:postProcessAfterInitialization方法因为前面已经初始化完成了后续没有在对bean的操作了如果在postProcessBeforeInitialization中为对象进行加工后续可能还会改。 注意BeanPostProcessor的功能只有在高级的工厂比如ApplicationContext才有。 注意第5步的初始化操作和BeanPostProcessor的方法在开发中我们一般不用。 Spring BeanFactory源码中是如何创建对象的 BeanFactory beanFactory new XmlBeanFactory(new ClassPathResource()); beanFactory.getBean(id);第一行代码的作用 读取xml文件解析bean标签封装成BeanDefinition对象并以id为keyBeanDefinition对象为value存储到map中第二行代码的作用 1.基于BeanDefinition创建对象 2.创建对象的过程包括前文生命周期中除销毁的步骤 3.创建对象的过程中需要按照scope进行讨论scopesingleton——单例对象Spring中使用map结构key为bean的idvalue为bean来保证永远只创建一次scopeprototype——每次都走一遍创建对象的流程。
http://www.tj-hxxt.cn/news/228813.html

相关文章:

  • 简易网站制作旅游景点网站模板
  • 广东深圳网站wordpress 杂志
  • 网站描述怎样写大宗贸易采购平台
  • 微商城手机网站制作品牌全案策划案例
  • 做网站好还是阿里巴巴好大连巨人网络推广有限公司
  • 网站建设费用请示黑龙江网站备案查询
  • 可以免费做中考题的网站网站内套网站代码
  • 如何修改网站图片怎么制作网页投票软件
  • 哪个网站是动态谷歌网站推广方案
  • 四川建设厅官方网站是多少广东阳江房产网
  • 网站建设丿找vx cp5173更多标签的适用场景
  • 房产网站建设产品网站版本功能列表
  • 网站顶端图片素材如何制作app的页面
  • 青岛做外贸网站哪家好纯flash网站下载
  • 广州专业制作网站网络推广策略概念
  • 电子商务网站建设详细策划书怎么做宣传网页
  • 网站后台编辑框无法显示苏州建设局网站实名制
  • 南昌餐厅网站建设聊城专业网站制作公司
  • 做网站需要掌握什么相册特效手机网站
  • 星河东莞网站建设一个完整的网址包含哪些内容
  • 什么网站做博客好私人免费网站怎么下载
  • 小游戏网站欣赏做网站都需要做什么
  • 做影视网站关停绵阳网站托管
  • 网站建设合同内容seo如何优化网站
  • 做百度快照要先有网站吗做苗木选择哪个网站
  • 邢台优化网站排名网站建设财务怎么入账
  • 网站排名logo怎么做广州越秀区是不是中风险地区
  • 商务网站建设的步骤商业网络平台
  • 做网站这个工作怎么样网站建设的风险预测
  • 厦门网站建设哪家好厦门最好的网站建设如何微信做演讲视频网站