spring中创建bean对象的三种方式以及作用范围
时间:2020/02/02
一.在spring的xml配置文件中创建bean对象的三种方式:
1.使用默认构造函数创建。在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数函数,则对象无法创建。
<bean id="one" class="sdnu.machi.one"></bean>
如果one.class中没有默认构造函数则会报错。
2.使用普通工厂中的方法创建对象(使用某个类中的方法创建对象,并存入spring容器)。
<bean id="two" class="sdnu.machi.two"></bean>
<bean id="one" factory-bean="two" factory-method="getOne"></bean>
在two.class中存在一个非静态方法getOne的返回值是类One,如果要获得类One的对象,需要通过上面两行代码进行配置。
3.使用工厂中的静态方法创建对象(使用某个类中的静态方法创建对象,并存入spring容器)
<bean id="one" class="sdnu.machi.two" factory-method="getOne"></bean>
在类two中存在一个静态方法的返回值是类One,想要通过类two获得类One的对象,需要通过上面一行代码进行配置。
二.bean的作用范围
bean标签的scope属性
1.作用:用于指定bean的作用范围
2.取值:常用的就是单例的和多例的
(1)singleton:单例的(默认值)
(2)prototype:多例的
(3)request:作用于web应用的请求范围
(4)session:作用于web应用的会话范围
(5)global-session:作用于集群环境的会话范围(全局会话范围),当不是集群环境时,他就是session
三.在类文件中使用配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
One one = (One)ac.getBean("one");
spring中创建bean对象的三种方式以及作用范围的更多相关文章
- Java反射机制(创建Class对象的三种方式)
1:SUN提供的反射机制的类: java.lang.Class<T> java.lang.reflect.Constructor<T> java.lang.reflect.Fi ...
- Java反射机制(创建Class对象的三种方式)
1:了解什么是反射机制? 在通常情况下,如果有一个类,可以通过类创建对象:但是反射就是要求通过一个对象找到一个类的名称: 2:在反射操作中,握住一个核心概念: 一切操作都将使用Object完成,类 ...
- JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取
创建连接对象的三种方式 //第一种方式 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ ...
- JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取
创建连接对象的三种方式 //第一种方式 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ ...
- SpringBoot中注入ApplicationContext对象的三种方式
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 在项目中,我们可 ...
- Java中创建实例化对象的几种方式
Java中创建实例化对象有哪些方式? ①最常见的创建对象方法,使用new语句创建一个对象.②通过工厂方法返回对象,例:String s =String.valueOf().(工厂方法涉及到框架)③动用 ...
- Spring boot 梳理 - SpringBoot中注入ApplicationContext对象的三种方式
直接注入(Autowired) @Configuration public class OAConfig { @Autowired private ApplicationContext applica ...
- Spring中bean实例化的三种方式
之前我已经有好几篇博客介绍Spring框架了,不过当时我们都是使用注解来完成注入的,具体小伙伴可以参考这几篇博客(Spring&SpringMVC框架案例).那么今天我想来说说如何通过xml配 ...
- 【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比
[原文]https://www.toutiao.com/i6594205115605844493/ Spring学习Bean配置的三种方式(XML.注解.Java类)介绍与对比 本文将详细介绍Spri ...
随机推荐
- Spring in action读书笔记(一) 自动化装配bean
需要引入的ja包 <dependency> <groupId>org.springframework</groupId> <artifactId>spr ...
- Spring Boot 配置文件中使用变量、使用随机数
参数引用 在application.properties中的各个参数之间可以直接通过是使用placeHolder的方式进行引用,如: book.author=Clark book.name=C++ b ...
- 某个应用的CPU使用率居然达到100%,我该怎么办?
> 本文是通过学习极客时间专栏<Linux性能优化实战>05 | 基础篇:某个应用的CPU使用率居然达到100%,我该怎么办? ## CPU 使用率 *** 为了维护 CPU 时间, ...
- VMware显示错误:“未能锁定文件 无法打开磁盘 ..\*.vmdk 或者某一个快照所依赖的磁盘。”解决办法
问题描述: 使用VMware时遇到错误:“未能锁定文件 无法打开磁盘 ..\*.vmdk 或者某一个快照所依赖的磁盘.” 问题出现的原因: 虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚 ...
- 在GeneXus开发过程中如何进行自动化测试?
1. 简介 GXtest是基于专门为GeneXus平台开发的应用程序提供的自动化测试解决方案. 我们强调“解决方案”和“自动化”两个词: 解决方案:GXtest为整个GeneXus软件开发生命周期提供 ...
- 【UEFI】---基于UEFI编程的基本思路
最近基于UEF在写代码的时候,发现由于粗心总是出现很多问题,而且都是一些小问题.虽然UEFI玩了挺久,但是也没梳理一下思路.借此机会整理一下: UEFI对复杂的BIOS代码做了很好的封装和模块化. ...
- LGV - 求多条不相交路径的方案数
推荐博客 :https://blog.csdn.net/qq_25576697/article/details/81138213 链接:https://www.nowcoder.com/acm/con ...
- Callable接口用法
注意点:FutureTask是Runnable的实现类,它的构造器可以传Callable接口的实现类. 例子如下: class MyThread implements Callable<Inte ...
- mysql 添加/删除列(column)
1.添加 格式:alter table 表名 add column 列名 列的数据类型;示例alter table test4 add column addr text; 2.删除 格式: alter ...
- Firebase REST API
use firebase and firesharp to do a Library management system . look github.com/ziyasal/FireSharp