当前位置: 首页 > 后端技术 > Java

SpringAuthentication-BeanScope教程

时间:2023-04-01 15:22:34 Java

定义时,您可以选择声明该bean的范围。例如,要强制Spring在每次需要时生成一个新的bean实例,您应该将bean的范围属性声明为原型。同样,如果希望Spring在每次需要时都返回同一个bean实例,则应该将bean的范围属性声明为单例。SpringFramework支持以下五个范围,其中三个仅在您使用web-awareApplicationContext时可用。在本章中,我们将讨论前两个范围,其余三个范围将在讨论web-awareSpringApplicationContext时进行讨论。Singletonscope如果scope设置为singleton,SpringIoC容器将创建这个bean定义定义的对象的一个??实例。该单个实例存储在此类单例bean的缓存中,所有后续请求和对该命名bean的引用都将返回缓存的对象。默认范围始终是单例。但是,当你只需要一个bean实例时,你可以在bean配置文件中将scope属性设置为singleton,如下代码片段所示-示例让我们有一个工作的EclipseIDE并采取以下步骤来创建一个Spring应用程序——这是HelloWorld.java文件的内容——packagecom.tutorialspoint;公共类HelloWorld{私有字符串消息;publicvoidsetMessage(Stringmessage){this.message=message;}publicvoidgetMessage(){System.out.println("YourMessage:"+message);}}下面是MainApp.java文件的内容——packagecom.tutorialspoint;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;publicclassMainApp{publicstaticvoidmain(String[]args){ApplicationContextcontext=newClassPathXmlApplicationContext("Beans.xml");HelloWorldobjA=(HelloWorld)context.getBean("helloWorld");objA.setMessage("我是对象A");objA.getMessage();HelloWorldobjB=(HelloWorld)context.getBean("helloWorld");objB.getMessage();}}下面是单例作用域需要的配置文件bean。xml-创建完源文件和bean配置文件后,让我们运行应用程序如果您的应用程序一切正常,它将打印以下内容message-您的消息:我是对象A您的消息:我是对象A原型范围如果范围设置为原型,SpringIoC容器将在每次为特定bean发出请求时创建该对象的新bean实例。通常,对所有有状态bean使用原型作用域,对无状态bean使用单例作用域。要定义原型作用域,可以在bean配置文件中将scope属性设置为prototype,如下代码片段所示-示例让我们使用EclipseIDE并按照以下步骤创建Spring应用程序-这是你好世界。java文件包com.tutorialspoint的内容;公共类HelloWorld{私有字符串消息;publicvoidsetMessage(Stringmessage){this.message=message;}publicvoidgetMessage(){System.out.println("YourMessage:"+message);}}下面是MainApp.java文件的内容——packagecom.tutorialspoint;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;publicclassMainApp{publicstaticvoidmain(String[]args){ApplicationContextcontext=newClassPathXmlApplicationContext("Beans.xml");HelloWorldobjA=(HelloWorld)context.getBean("helloWorld");objA.setMessage("我是对象A");objA.getMes智者();HelloWorldobjB=(HelloWorld)context.getBean("helloWorld");objB.getMessage();}}下面是原型作用域需要的配置文件Beans.xml-创建源文件和bean配置文件后,让我们运行应用程序如果您的应用程序一切正常,它将打印以下消息-您的消息:我反对A您的消息:null

最新推荐
猜你喜欢