zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    IdentityServer4身份认证授权入门-----客户端凭据、密码模式
    Linux从创建到部署ASP.NET Core项目-----使用阿里云(Centos7)
    Docker入门之快速安装和卸载使用Centos7
    SQLServer系列(二):系统函数之聚合函数
    SpringCloud-day09-Feign与Hystrix整合
    SpringCloud-day08-Hystrix断路器
    SpringCloud-day07-Feign
    SpringCloud-day06-Ribbon负载均衡
    SpringCloud-day05-服务调用Ribbon
    SpringCloud-day04-Eureka高可用集群配置
  • 原文地址:https://www.cnblogs.com/machi12/p/12251685.html
Copyright © 2011-2022 走看看