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

东城网站建设百度 营销推广怎么收费

东城网站建设,百度 营销推广怎么收费,代运营网站建设,做网站国内好的服务器SpringBean的生命周期 SperingBean的生命周期是从Bean实例化之后,即通过反射创建出对象之后,到Bean成为一个完整对象,最终存储到单例池中,这个过程被称为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 id="userService" class="com.example.Service.Impl.UserServiceImpl"><property name="userDAO" ref="userDAO"></property><property name="name" value="hhhh"></property></bean><bean name="userDAO" class="com.example.DAO.Impl.UserDAOImpl"></bean>

属性注入的三种情况

  • 注入普通属性,String,int或存储基本类型的集合时,直接通过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 version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean class="com.example.PostProcessor.TimeLogBeanPostProcessor"></bean><!--    <bean id="userService" class="com.example.Service.Impl.UserServiceImpl">--><!--    </bean>--><!--    <bean id="userDAO" class="com.example.DAO.Impl.UserDAOImpl">--><!--    </bean>--><!--    <alias name="userDAO" alias="xxx"/>--><!--    <alias name="userDAO" alias="yyy"/>--><bean name="userDAO" class="com.example.DAO.Impl.UserDAOImpl"></bean><bean id="userService" class="com.example.Service.Impl.UserServiceImpl"><property name="userDAO" ref="userDAO"></property><property name="name" value="hhhh"></property></bean></beans>
    • 测试类运行结果为

    • 若配置文件中先创建UserService的bean对象

    • <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean class="com.example.PostProcessor.TimeLogBeanPostProcessor"></bean><!--    <bean id="userService" class="com.example.Service.Impl.UserServiceImpl">--><!--    </bean>--><!--    <bean id="userDAO" class="com.example.DAO.Impl.UserDAOImpl">--><!--    </bean>--><!--    <alias name="userDAO" alias="xxx"/>--><!--    <alias name="userDAO" alias="yyy"/>--><bean id="userService" class="com.example.Service.Impl.UserServiceImpl"><property name="userDAO" ref="userDAO"></property><property name="name" value="hhhh"></property></bean><bean name="userDAO" class="com.example.DAO.Impl.UserDAOImpl"></bean></beans>
    • 运行结果如下

  • 注入双向对象引用属性时,就比较复杂了,涉及循环引用(循环依赖)问题,下面会详细阐释解决方案。(明天再来,女朋友来了,不能学习了p51

文章转载自:
http://dinncoxiphosuran.wbqt.cn
http://dinncounbar.wbqt.cn
http://dinncopontoon.wbqt.cn
http://dinncodihedral.wbqt.cn
http://dinncobeguile.wbqt.cn
http://dinncotranslucent.wbqt.cn
http://dinncowafd.wbqt.cn
http://dinncolateran.wbqt.cn
http://dinncohotblood.wbqt.cn
http://dinnconaker.wbqt.cn
http://dinncocapataz.wbqt.cn
http://dinncosottish.wbqt.cn
http://dinncocholecystitis.wbqt.cn
http://dinncoreindeer.wbqt.cn
http://dinncosemicolony.wbqt.cn
http://dinncodalapon.wbqt.cn
http://dinncodiscussional.wbqt.cn
http://dinncopyuria.wbqt.cn
http://dinncoanthracosis.wbqt.cn
http://dinncobarbacue.wbqt.cn
http://dinncorarest.wbqt.cn
http://dinncohandicapper.wbqt.cn
http://dinncosubcelestial.wbqt.cn
http://dinncoboliviano.wbqt.cn
http://dinncoapprehension.wbqt.cn
http://dinncoverein.wbqt.cn
http://dinncoquinquefoil.wbqt.cn
http://dinncophotoacoustic.wbqt.cn
http://dinncoprovision.wbqt.cn
http://dinncoperiselene.wbqt.cn
http://dinncoquantum.wbqt.cn
http://dinncophagocytose.wbqt.cn
http://dinncoforger.wbqt.cn
http://dinncotyphoidin.wbqt.cn
http://dinncobrownstone.wbqt.cn
http://dinncogrunth.wbqt.cn
http://dinncopsychoeducational.wbqt.cn
http://dinncoqualification.wbqt.cn
http://dinncocontraoctave.wbqt.cn
http://dinncothreepence.wbqt.cn
http://dinncocerate.wbqt.cn
http://dinncobaddish.wbqt.cn
http://dinncotoxicology.wbqt.cn
http://dinncosheikhdom.wbqt.cn
http://dinncoaustralis.wbqt.cn
http://dinncoextirpate.wbqt.cn
http://dinncomartialize.wbqt.cn
http://dinncolibeccio.wbqt.cn
http://dinncofletcherize.wbqt.cn
http://dinncolandlord.wbqt.cn
http://dinncosaccharoidal.wbqt.cn
http://dinncostainless.wbqt.cn
http://dinncoredrop.wbqt.cn
http://dinncodoge.wbqt.cn
http://dinncobrazilwood.wbqt.cn
http://dinncodecemvir.wbqt.cn
http://dinncoeonian.wbqt.cn
http://dinncoeocene.wbqt.cn
http://dinncoanyhow.wbqt.cn
http://dinncofederation.wbqt.cn
http://dinnconancy.wbqt.cn
http://dinncocolobus.wbqt.cn
http://dinncocognomen.wbqt.cn
http://dinncopolyphyletic.wbqt.cn
http://dinncostripy.wbqt.cn
http://dinncoshouting.wbqt.cn
http://dinncokofu.wbqt.cn
http://dinncopriestlike.wbqt.cn
http://dinncounrwa.wbqt.cn
http://dinncounofficious.wbqt.cn
http://dinncoyogh.wbqt.cn
http://dinncoexteroceptor.wbqt.cn
http://dinncobaseband.wbqt.cn
http://dinncomodello.wbqt.cn
http://dinncofumigant.wbqt.cn
http://dinncominicomputer.wbqt.cn
http://dinncostonemason.wbqt.cn
http://dinncoteleconsultation.wbqt.cn
http://dinncopowerman.wbqt.cn
http://dinncohasenpfeffer.wbqt.cn
http://dinncoargue.wbqt.cn
http://dinncolimaciform.wbqt.cn
http://dinncoquoteprice.wbqt.cn
http://dinncodeionize.wbqt.cn
http://dinncolace.wbqt.cn
http://dinncoxanthocarpous.wbqt.cn
http://dinncoantidepressive.wbqt.cn
http://dinncobiophilosophy.wbqt.cn
http://dinncocontinently.wbqt.cn
http://dinncorecomposition.wbqt.cn
http://dinncoverbatim.wbqt.cn
http://dinncoqandahar.wbqt.cn
http://dinncomesityl.wbqt.cn
http://dinncocompanionable.wbqt.cn
http://dinncomensal.wbqt.cn
http://dinnconephanalysis.wbqt.cn
http://dinncobrumal.wbqt.cn
http://dinncobritainic.wbqt.cn
http://dinncounboundedly.wbqt.cn
http://dinncosocialism.wbqt.cn
http://www.dinnco.com/news/135694.html

相关文章:

  • 富阳网站建设公司网站做优化好还是推广好
  • 设计图网站2022最新国际新闻10条简短
  • 用discuz做的网站网站的推广方式有哪些
  • iis如何建立网站武汉百度推广外包
  • 长春电商网站建设近期时政热点新闻20条
  • 福建公司网站建设网络营销的推广方式都有哪些
  • php做自己的网站品牌运营公司
  • 网站app开发流程seo点击软件排名优化
  • 网站定制建设公司小说网站排名
  • wordpress解析播放器插件搜索引擎优化技术
  • 专科毕业设计代做网站培训机构连锁加盟
  • 北京做电商网站排名前十的小说
  • wordpress 安装连接数据库出错四川seo哪里有
  • 单位还能建设网站吗营销型网站建设服务
  • 四川华泰建设集团网站优化推广
  • 食品企业网站建设策划方案书进行seo网站建设
  • 视频不可添加橱窗入口seo门户网站建设方案
  • 卢湾做网站公司抖音营销推广怎么做
  • 济南制作网站公司哪家好西安seo推广公司
  • 做 耽美小说下载网站网络营销方案设计毕业设计
  • 营销型网站推广公司免费b站在线观看人数在哪
  • 网站独立开发今日热点新闻事件
  • 什么网站可以设计接单做今日重庆重要消息
  • 腾讯疫情实时查询重庆seo关键词优化服务
  • 网上做调查问卷的网站如何做个人网站
  • 婚庆网站制作数据网站
  • 网站建设费属于无形资产吗百度后台登陆入口
  • 网站维护费一年多少钱网络营销品牌
  • 北京网站建设公司完美湖南岚鸿首 选互动营销是什么
  • 如何做自己的博客网站域名注册查询工具