爪哇 2博客
  爪哇 2博客

弹簧 Bean作用域示例

这是教程系列的16个部分中的8个

教程内容:初学者春季教程

在Spring中,bean范围用于确定应从Spring容器返回给调用者的bean实例类型。
春季支持5种类型的bean范围

  1. 单身人士 –在每个Spring IoC容器中将单个bean定义的作用域限定为单个对象实例。
  2. 原型 –每次请求时返回一个新的bean实例
  3. 请求 –每个HTTP请求返回一个bean实例。
  4. 会议 –每个HTTP会话返回一个bean实例。
  5. globalSession –每个全局HTTP会话返回一个bean实例。

在很多情况下,春天’s core 范围 s i.e.singleton and 原型 are used.By default 范围 of 豆子 is 单身人士 .
Here we will see 单身人士 and 原型 范围 s in more details.

单例豆范围

例:

有关在Eclipse IDE中配置spring的信息,请参阅   你好世界的例子

1.Country.java:

这是具有某些属性的简单pojo类,因此此处的国家/地区具有名称。
在包下创建Country.java 组织 .arpit.javapostsforlearning将以下内容复制到Country.java中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
组织 . Arpit . 爪哇 postsforlearning;
 
上市 国家 {
 
     国家的名字 ;
 
     上市 getCountryName() {
         返回 国家的名字 ;
    }
 
     上市 虚空 setCountryName( 国家的名字 ) {
         这个 . 国家的名字 = 国家的名字 ;
    }
 
}
 

2.ApplicationContext.xml

1
2
3
4
5
6
7
8
9
 
<? XML文件 ="1.0" 编码方式 = “ UTF-8” ?>
< 豆子 XML文件 ns ="http://www.springframework.org/schema/beans"
XML文件 ns : si ="http://www.w3.org/2001/XMLSchema-instance" XML文件 ns : 哎呀 ="http://www.springframework.org/schema/aop"
si :schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
< ID = “国家” =“ 组织 .arpit.javapostsforlearning.Country”>
</>
</ 豆子 >
 

3.ScopesInSpringMain.java

此类包含主要功能。在包下创建ScopesInSpringMain.java 组织 .arpit.javapostsforlearning将以下内容复制到ScopesInSpringMain.java中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
组织 . Arpit . 爪哇 postsforlearning;
 
进口 组织 .弹簧框架.语境.ApplicationContext;
进口 组织 .弹簧框架.语境. 支持 .ClassPathXmlApplicationContext;
 
上市 ScopesInSpringMain{
 
     上市 静态的 虚空 主要 ([] args ) {
 
        ApplicationContext appContext = ClassPathXmlApplicationContext(“ ApplicationContext.xml”);
         国家 countryObj1 = ( 国家 ) appContext . getBean ( “国家” );
         countryObj1 .setCountryName( “印度” );
         系统 .. 打印 (“国家的名字:”+ countryObj1 .getCountryName());
 
        //第二次调用getBean
         国家 countryObj2 = ( 国家 ) appContext . getBean ( “国家” );
         系统 .. 打印 (“国家的名字:”+ countryObj2 .getCountryName());
    }
}
 

4.运行

当您在应用程序上运行时,将得到以下输出。
1
2
3
4
 
国家 名称 : 印度
国家 名称 : 印度
 

当我们第一次调用getBean并检索国家对象并将countryName设置为“india”当第二次调用getBean方法时,它什么也没做,只是返回了与countryName相同的对象“india”.

原型bean范围

现在我们将在上面的xml配置文件中进行更改。我们将在标签中添加scope属性并将其设置为“prototype”然后再次运行

ApplicationContext.xml:

1
2
3
4
5
6
7
8
9
10
 
<? XML文件 ="1.0" 编码方式 = “ UTF-8” ?>
< 豆子 XML文件 ns ="http://www.springframework.org/schema/beans"
XML文件 ns : si ="http://www.w3.org/2001/XMLSchema-instance" XML文件 ns : 哎呀 ="http://www.springframework.org/schema/aop"
si :schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 
< ID = “国家” =“ 组织 .arpit.javapostsforlearning.Country” 范围 ="原型">
</>
</ 豆子 >
 

再次运行:

当您在应用程序上运行时,将得到以下输出。

1
2
3
4
 
国家 名称 : 印度
国家 名称 :空值
 

当我们第一次调用getBean并检索国家对象并将countryName设置为“india”当第二次我们调用getBean方法时,它返回了具有countryName作为的新对象“null”.

那’关于Spring 豆 作用域的全部内容。
在下一篇文章中,我们将看到 在春季初始化集合.


导入联系人

您可能还喜欢:

分享这个

作者

关注作者

相关文章

  • 6月24日

    弹簧 或Spring Boot中没有任何类型的合格Bean

    在这篇文章中,我们将看到一个例外:没有合格的bean类型。异常是最不期望的,但是在使用Spring时可能会遇到异常。或Spring Boot。您是否收到以下异常:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有任何合格的bean类型?如果是,让’看到了不同的原因。原因1:您忘记声明[…]

  • 6月17日

    弹簧 XML配置示例

    在本文中,我们将看到如何创建基于XML的Spring hello world XML配置示例。这是创建Spring XML配置示例的简单步骤。 1.创建一个简单的java maven项目。 2. Maven依赖项将spring和cglib maven依赖项放在pom.xml中。 [crayon-601e3545d51d4720801955 /]因此,您的pom.xml如下所示:[crayon-601e3545d51d9677493425 /] 3.创建Bean类[…]

  • 6月15日

    在春季将原型bean注入到Singleton 豆 中

    在这篇文章中,我们将看到如何在Spring中将原型​​bean作用域注入Singleton Instance中。这是春季面试中最常问到的问题之一。问题将原型bean注入到singleton 豆 时,原型bean的行为仍然像singleton 豆 。让’借助示例了解这一点。 1.创建一个[…]

  • 6月15日

    弹簧 中的循环依赖

    在这篇文章中,我们将讨论春季面试中最常问到的问题之一。如果Spring中存在循环依赖关系,会发生什么情况。问题如果Spring中存在循环依赖关系怎么办?例如:A类需要B类的实例,而B类需要A类的实例。’创建一个示例[…]

  • 9月12日

    弹簧 初始化方法和销毁方法示例

    在本文中,我们将介绍Spring的初始化方法和destroy-method。当实例化或销毁bean时,可能需要执行一些操作,因此可以在创建或销毁bean时使用init-method和destroy-method调用此方法。让我们借助一个简单的例子来理解它:…]

  • 7月27日

    Prefix “context” for element “上下文:组件扫描” or “上下文:注释配置”未绑定:Spring错误

    在Spring或Spring MVC应用程序上工作时,可能会遇到以下错误消息。 组织 .xml.sax.SAXParseException:前缀“context” for element “上下文:组件扫描”没有约束。或org.xml.sax.SAXParseException:前缀“context” for element “上下文:注释配置” is not bound . This issue generally occurs when you do not include 语境 namespace. For example: Lets say you have below […]

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇 2博客