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

网站开发会什么官网seo优化

网站开发会什么,官网seo优化,郑州微信公众号外包,微信小程序推荐Spring中的Bean: 4.Bean的生命周期5.Bean的配装配式 ( 添加Bean到IOC容器的方式 依赖注入的方式 )5.1 基于XML的配置5.2 基于Annotation (注解) 的装配 (更常用)5.3 自动装配 4.Bean的生命周期 Spring容器可以管理 singleton作用域的Bean的生命周期,在此…

Spring中的Bean:

    • 4.Bean的生命周期
    • 5.Bean的配装配式 ( 添加Bean到IOC容器的方式 + 依赖注入的方式 )
      • 5.1 基于XML的配置
      • 5.2 基于Annotation (注解) 的装配 (更常用)
      • 5.3 自动装配

4.Bean的生命周期

  • Spring容器可以管理 singleton作用域Bean生命周期,在此作用域下,Spring能够精确地知道该Bean 何时被创建何时初始化完成以及何时被销毁

  • 对于 prototype作用域Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。每次客户端请求prototype 作用域Bean时,Spring 容器都会创建一个新的实例,并且不会管那些被配置成prototype作用域的Bean的生命周期

  • 了解Bean的生命周期的意义就在于,可以在某个Bean生命周期某些指定时刻完成一些相关操作。这种时刻可能有很多,但在一般情况下,常会在Bean的postinitiation (初始化后)和predestruction (销毁前)执行一些相关操作。

  • Spring中,Bean生命周期的执行是一个很复杂的过程,读者可以利用Spring提供的法来定制Bean的创建过程。当一个Bean被加载到Spring容器时,它就具有了生命,而Spring容器在保证一个Bean能够使用之前,会做很多工作。Spring 容器中。

  • Bean 的生命周期流程 ( Bean的生命周期图 )如下图所示 :

    在这里插入图片描述

  • 在上图 (Bean的生命周期图)中,Bean的生命周期的整个执行过程描述如下。
    根据配置情况调用Bean构造方法工厂方法实例化Bean

    利用依赖注入完成Bean中所有属性值配置注入

    如果Bean实现了BeanNameAware接口,则Spring调用Bean的 setBeanName() 方法传入当前Bean的id值

    如果Bean实现BeanFactoryAware 接口,则Spring调用 setBeanFactory()方法传入当前工厂实例引用

    如果Bean实现了 ApplicationContextAware 接口,则Spring调用 setApplicationContext() 方法传入当前 ApplicationContext实例的引用。

    如果 BeanPostProcessorBean 关联,则Spring 将调用该接口的预初始化方法postProcessBeforelnitialzation() 对Bean进行加工操作,这个非常重要,SpringAOP就是⑪⑫
    它实现的。

    如果Bean实现了lnitiializingBean接口,则Spring将调用 afterPropertiesSet() 方法。

    如果在配置文件中通过init-method 属性指定了初始化方法,则调用该初始化方法

    如果有BeanPostProcessorBean关联,则Spring将调用该接口的初始化方法
    postProcessAfterinitialization() 此时,Bean 已经可以被应用系统使用了。

    如果在 <bean> 中指定了该Bean的作用范围为scope=“singleton”,则将该Bean放入Spring loC的缓存池中,将触发Spring该Bean生命周期管理;如果在 <bean> 中指定了该Bean的作用范围为 scope= 'prototype",则将该Bean交给调用者调用者管理该Bean的生命周期,Spring 不再管理该Bean。

    如果Bean实现了DisposableBean接口,则Spring会调用destroy()方法将Spring中的Bean销毁
    如果在配置文件中通过destory-method属性指定了Bean 的销毁方法,则Spring将调用该方法进行销毁

    SpringBean提供了细致全面生命周期过程,通过实现特定的接口或通过<bean>的属性设置,都可以对Bean生命周期过程产生影响。可以随意地配置<bean>的属性,但是建议不要过多地使用Bean实现接口,因为这样会使代码和Spring聚合比较紧密。

5.Bean的配装配式 ( 添加Bean到IOC容器的方式 + 依赖注入的方式 )

  • Bean的装配方式 : 添加Bean到IOC容器的方式 + 依赖注入的方式
  • Spring容器支持多种形式的Bean的装配方式,如 基于XML的装配基于注解( Annotation )的装配自动装配 等。(其中最常用的是基于注解的装配)。下面的内容主讲的是 : 基于注解的装配

5.1 基于XML的配置

Spring提供了两种基于XML的装配方式 : 设值注入( Setter Injection) 和 构造注入 (Constructor Injection)。
设值注入的方式为常用: 通过在被调用者中 添加 “被调用者”的属性 ,设置set方法为该属性赋值 ,最后结合xml文件中的 “property标签” 的方式来 添加Bean到IOC容器中,同时实现Bean的注入 (依赖注入)。

5.2 基于Annotation (注解) 的装配 (更常用)

  • Spring中尽管使用XIML配置文件可以实现Bean的装配工作,但如果应用中有很多时,会导致XML配置文件过于臃肿,给后续的维护和升级工作带来一定的困难。 为此,Spring提供了对 Annotation (注解)技术的全面支持(通过添加注解的方式就能将Java对象添加到IOC容器中作为Bean + 通过注解的方式就能实现依赖注入

  • Spring中定义了一系列的注解常用的注解 如下所示。

    • @Component注解 : 可以使用此注解描述Spring中Bean,但它是一 个泛化的概念,仅仅表示一个组件( Bean ),可以作用在任何层次。使用时只需将该注解标注相应类上即可。
    • @Repository注解 :用于将数据访问层 (DAO层) 的标识为Spring 中的Bean,其功能与@Component相同。
    • @Service注解 :通常作用在业务层( Service层 ),用于将业务层标识为Spring中的Bean,其功能与@Component相同。
    • @Contoller注解 :通常作用在控制层 (如Spring MVC的Controller ),用于将控制层的标识为Spring中的Bean,其功能与@Component相同。
    • @Autowired注解 :用于对Bean的属性变量、属性的setter方法构造方法进行标注,配合相应应的注解处理器完成Bean的自动配置工作。默认按照Bean的类型进行装配
    • @Resource注解 : 其作用与**@Autowired一样。其区别在于@Autowired 默认按照Bean类配**,而@Resource默认按照Bean 实例名称进行装配
      @Resource 中有两个重要属性: name 和 type。Spring将name属性解析为Bean实例名称type 属性解析为Bean实例类型。如果指定name属性,则按实例名称进行装配;如果指定type属性,则按Bean类型进行装配。
      如果都不指定,则先按Bean实例名称装配,如果不能匹配,再按照Bean类型进行装配
      如无法匹配,则抛出NoSuchBeanDefinitionException异常。
    • @Qualfier注解与@Autowired 注解配合使用,会将默认的按Bean类型装配修改为按Bean的实例名称装配,Bean 的实例名称由@Qualifier注解的参数指定。

    在上面几个注解中,虽然**@Repositoy**、 @Service@Controller功能与**@Component**的功能相同,但为了使标注类本身用途更加清晰,建议在实际开发中使用@Repositoy、@Service 和 @Controller分别对实现类进行标注。

5.3 自动装配

  • 虽然使用注解的方式装配Bean,在一定程度上减少了配置文件中的代码量,但是也有企业项目中是没有使用注解方式开发 ( 部分企业使用xml配置的方式来装配Bean )的,那么有没有什么办法既可以减少代码量,又能够实现Bean的装配呢?
    此时可以用Spring中的<bean>元素中的autowire属性,可以通过设置autowire的属性值来自动装配Bean。所谓自动装配,就是将一个Bean自动地注入到其他的Property中

  • 此时可以用Spring中的<bean>元素中的autowire属性,可以通过设置autowire的属性值来自动装配Bean。所谓自动装配,就是将一个Bean自动地注入到其他的Property中,后通过各自类中的set方法实现依赖注入,以此实现自动装配

  • autowire属性有5个值,如下表所知。

    属性值说明
    default (默认值)由<bean>的上级标签<beans>的default-autowire属性值确定。例如<beans default-
    autowire=“byName”>,则该 元素中的autowire属性对应属性值就为byName
    byName根据属性的名称自动装配。容器将根据名称查找与属性完全一致的 Bean,并将其属性自动装配。
    byType根据属性的数据类型(Type)自动装配,如果一个Bean的数据类型,兼容另一个Bean中属性的数据类型,则自动装配
    constructor根据构造函数参数的数据类型,进行byType模式的自动装配。
    no默认情况下,不使用自动装配Bean 依赖必须通过ref元素定义。

文章转载自:
http://dinncotanner.bpmz.cn
http://dinncofirebomb.bpmz.cn
http://dinncorecusation.bpmz.cn
http://dinncopressurization.bpmz.cn
http://dinncocerography.bpmz.cn
http://dinncoalgarroba.bpmz.cn
http://dinncozolaism.bpmz.cn
http://dinncohart.bpmz.cn
http://dinncosuborder.bpmz.cn
http://dinncolaxative.bpmz.cn
http://dinncoincipient.bpmz.cn
http://dinncoscutage.bpmz.cn
http://dinncobauxitic.bpmz.cn
http://dinncoidyll.bpmz.cn
http://dinncoexophthalmos.bpmz.cn
http://dinncobowshock.bpmz.cn
http://dinncolaborite.bpmz.cn
http://dinncodeamination.bpmz.cn
http://dinncosunstroke.bpmz.cn
http://dinncounpolite.bpmz.cn
http://dinncootranto.bpmz.cn
http://dinncotartary.bpmz.cn
http://dinncomoxie.bpmz.cn
http://dinncoepicanthic.bpmz.cn
http://dinncoparamilitary.bpmz.cn
http://dinncorarest.bpmz.cn
http://dinncowust.bpmz.cn
http://dinncolavage.bpmz.cn
http://dinncotoxaphene.bpmz.cn
http://dinncoimminency.bpmz.cn
http://dinncophotofinishing.bpmz.cn
http://dinncointerlocutory.bpmz.cn
http://dinncoparentally.bpmz.cn
http://dinncoactinal.bpmz.cn
http://dinncomacron.bpmz.cn
http://dinncomonadelphous.bpmz.cn
http://dinncolachrymator.bpmz.cn
http://dinncooverendowed.bpmz.cn
http://dinncofroglet.bpmz.cn
http://dinncobildungsroman.bpmz.cn
http://dinncoraveling.bpmz.cn
http://dinncoganglike.bpmz.cn
http://dinncosilbador.bpmz.cn
http://dinncocardiotonic.bpmz.cn
http://dinncoassegai.bpmz.cn
http://dinncobetta.bpmz.cn
http://dinncowithering.bpmz.cn
http://dinncoisdn.bpmz.cn
http://dinncoepiplastron.bpmz.cn
http://dinncofaultiness.bpmz.cn
http://dinncopuritanic.bpmz.cn
http://dinncoechelon.bpmz.cn
http://dinncogrenoble.bpmz.cn
http://dinncoharmonica.bpmz.cn
http://dinncoobstupefy.bpmz.cn
http://dinncoeuphemist.bpmz.cn
http://dinncomobbish.bpmz.cn
http://dinncowoodrow.bpmz.cn
http://dinncoforewoman.bpmz.cn
http://dinncoshingly.bpmz.cn
http://dinncosacker.bpmz.cn
http://dinncograntsmanship.bpmz.cn
http://dinncoexfiltration.bpmz.cn
http://dinncoinherence.bpmz.cn
http://dinncotransporter.bpmz.cn
http://dinncoheadrace.bpmz.cn
http://dinncoleatheroid.bpmz.cn
http://dinncopenitence.bpmz.cn
http://dinncogarrigue.bpmz.cn
http://dinncowindsucker.bpmz.cn
http://dinncosparganosis.bpmz.cn
http://dinncoparalympics.bpmz.cn
http://dinncoduodecimo.bpmz.cn
http://dinncopackery.bpmz.cn
http://dinncodigametic.bpmz.cn
http://dinnconarrative.bpmz.cn
http://dinncoinvidious.bpmz.cn
http://dinncotransat.bpmz.cn
http://dinncokalmyk.bpmz.cn
http://dinncouneventful.bpmz.cn
http://dinncostatement.bpmz.cn
http://dinncopuce.bpmz.cn
http://dinncohothouse.bpmz.cn
http://dinncomottramite.bpmz.cn
http://dinncohussy.bpmz.cn
http://dinncoplena.bpmz.cn
http://dinncobrit.bpmz.cn
http://dinnconeodymium.bpmz.cn
http://dinncobrutish.bpmz.cn
http://dinncopre.bpmz.cn
http://dinncoredisplay.bpmz.cn
http://dinncoairworthy.bpmz.cn
http://dinncobrythonic.bpmz.cn
http://dinncoorbital.bpmz.cn
http://dinncolionize.bpmz.cn
http://dinncohansel.bpmz.cn
http://dinncocomportment.bpmz.cn
http://dinncopleat.bpmz.cn
http://dinncosinaitic.bpmz.cn
http://dinncospasmogen.bpmz.cn
http://www.dinnco.com/news/153358.html

相关文章:

  • 做网站什么框架方便东莞seo网站推广建设
  • 做企业网站的流程做推广的软件有哪些
  • 网站建设公司河南广州百度seo
  • 网站付费推广竞价营销渠道策划方案
  • 只做女性的网站厦门网站seo外包
  • 企业网站制作机构排名企业如何进行品牌推广
  • 亚马逊跨境电商平台官网苏州排名搜索优化
  • 厚街镇网站仿做seo网站关键词优化哪家好
  • 企业手机网站源码下载数据分析网官网
  • 2015做微网站多少钱baidu百度首页官网
  • 编程网站有哪些枸橼酸西地那非片多长时间见效
  • 广告公司名称大全简单seo排名计费系统
  • 响应式网站建设对企业营销微信小程序开发详细步骤
  • 数字营销公司排行榜seo就业前景如何
  • css居中代码seo技术培训班
  • 沈阳开发网站公司seo系统教程
  • 如何法院网站建设seo课程培训课程
  • 做介绍美食网站的菜单的最吸引人的营销广告文案
  • 网站开发时会遇到哪些问题百度发作品入口在哪里
  • 石家庄做外贸网站建设软件开发公司
  • 牡丹江疫情最新情况西安百度seo
  • 网站怎么做关键词b站视频推广网站2023年
  • 长沙网站制作公司报价最近三天的新闻大事小学生
  • 做网站设置时间微信营销是什么
  • 从本地服务入手做本地网站葫岛百度seo
  • 做网站建设推荐google google
  • 周口建设路网站免费入驻的卖货平台
  • 网站开发公司加盟合肥seo外包平台
  • python3.5 做网站怎么把自己的网站发布到网上
  • php网站开发实例教程传智北京百度推广优化