当前位置: 首页 > 网络应用技术

弹簧式动作域和自动组装

时间:2023-03-07 02:47:15 网络应用技术

  当弹簧容器初始化bean的实例时,它将同时指定实例的范围。

  Singleton(常用)单身模式,使用Singleton定义在弹簧容器中只有一个实例,这也是Bean.Prototype(常用)原型模式的默认范围,每次通过春季容器定义的bean定义时,容器将创建一个新的bean实例。在http请求中重新要求,容器返回与bean的相同实例。对于不同的HTTP请求,不同的实例将返回,这在当前的HTTP请求中有效。在HTTP会话中,在HTTP会话中,容器返回与bean的相同实例。对于不同的HTTP请求,不同的实例将返回,这在当前的HTTP会话中有效。应用程序限制了由单个BEAN定义定义的生命周期。在春季上下文中,这是有效的被感知。websocket限制单个豆定义的寿命。它在春季的环境中有效。Singleton是Spring Conta的默认范围iner。当bean的角色是单例时,弹簧容器中只会有一个共享的bean实例,并且所有对bean的请求都将是。回到同一实例bean。

  在Spring配置文件中,该元素的范围属性可用于定义Bean作为单胎的角色。配置方法如下:

  结果是正确的,这表明弹簧容器仅创建一个用户类的实例。由于弹簧容器的默认范围为单顿,如果范围=“ singleton”未设置,则输出结果也将是一个实例。

  使用原型范围的Bean在请求Bean时将创建一个新的Bean实例。因此,需要保留会话的Bean应该使用原型。

  在弹簧配置文件中,应将BEAN定义为Propotype范围。它只需要将元素的范围属性值定义为原型。示例代码如下所示:

  两个输出的结果不同,这表明在原型的域下,弹簧容器创建了两个不同的人实例。

  什么是自动组件:

  要使用自动组件,您需要配置元素的自动属性。自动属性具有五个值,专门说明下表。

  Byname会根据过程的名称自动组装。如果一个bean的名称与另一个bean中属性的名称相同,则它将自动将此bean组装到print.bytype。bytype是根据属性的数据类型(类型)自动组装的。如果一个bean的数据类型与另一个bean中的属性的数据类型兼容,则将自动组装。Constructor基于构造函数参数的数据类型执行BYTYPE模式的自动组件。如果自动图可以找到默认的构造函数,请找到默认的构造函数,,,,,,,,则可以找到默认的构造函数,则使用Constructionor模式,否则使用Bytype模式。在默认情况下,它不使用自动组件。豆子依赖性必须通过参考元素来定义。环境结构

  Byname自动组件

  Byname:它将自动找到容器的上下文,并与对象对象的集合方法背后的值相对应。

  Bytype自动组件

  Bytype:它将自动在容器上找到它,并与对象属性的类型相对应。

  Java在JDK 5.0之后提供了宣传功能,Spring还为2.5的宣传技术提供了全面的支持。

  使用以注释导入的配置文件:

  常用的注释如下。

  您可以使用此注释来描述弹簧中的bean,但这是一个广义概念,它仅表示组件(bean)并可以在任何级别上起作用。在使用该类别时,请标记在相应类上的注释。

  它用于将数据访问层(DAO层)识别为弹簧中的bean,其功能与@component相同。

  它通常在业务层(服务层)中使用,用于识别春季的业务层的类型。它的功能与@component相同。

  它通常在控制层中作用,并用于将控制层识别为弹簧中的bean,其功能与@component相同。

  滞后属性变量,属性变量的属性,属性和构造函数,并与相应的注释处理器合作以完成BEAN的自动配置工作。默认值基于Bean的类型。设置方法。如果您在属性上使用它,则可以忽略属性的集合方法。

  补充:

  如果您将其与@Autowired注释一起使用,则将修改默认的BEAN类型,该类型由BEAN的示例名称组装而组装。当一种BEAN具有多个示例名称时,实例名称是由@Qualifier注释的参数指定的。

  @预选赛的使用

  它的角色与自动化相同。区别在于@Autowired是根据BEAN类型默认值组装的,@Resource由Bean实例名称组装为默认情况下。

  @Resource中有两个重要属性:名称和类型。

  Spring分析名称属性为BEAN的名称,并将类型属性分析为Bean实例类型。如果指定了名称属性,则根据示例名称组装;如果指定了类型属性,请根据BEAN类型组装。

  如果未指定,请首先根据BEAN实例名称组装。如果您无法匹配,则根据Bean类型组装;如果您无法匹配,则可以抛出Nosuchbeandefineaption异常。