Spring学习1--基本概念

为什么要用Spring?
Spring的本质是管理软件中的对象,如何创建对象和维护对象之间的关系。
什么是IOC?
指程序中获取对象的方式发生了反转,由最初的new方式创建,转变为由第三方框架创建。
什么是Bean?
就是一种规范并且简单的java对象。

当需要管理javaBean对象的时候就要用Spring,Spring是最简洁的对象管理方案

容器和Bean管理

1.Spring容器的实例化:

    //加载src下的applicationContext.xml文件对容器实例化
    String conf = "applicationContext.xml";
    ApplicationContext ac = new ClassPathXmlApplicationContext(conf);

2.Bean的实例化(3种方式):

将对象的创建规则告诉Spring,Spring会帮我们创建对象

  1. 用构造器来实例化

        <!--applicationContext.xml配置:-->  
    <bean id="指定Bean名称" class="指定Bean的类型"></bean>  
    

    这种方法会自动调用无参构造器创建对象,因此该实体类必须有无参构造器
    java代码:

        public void instanceSpring(){  
            //加载spring配置文件   
            String conf = "applicationContext.xml";
            ApplicationContext ac = new ClassPathXmlApplicationContext(conf)
            //调用getBean方法取得被实例化的对象。  
            指定Bean的类型 实例名 = (指定Bean的类型) ac.getBean("指定Bean名称");  
        }  
  1. 使用静态工厂方法实例化
  2. 使用实例工厂方法实例化
    2,3的链接在下面

http://glzaction.iteye.com/blog/1286325

3.Bean的 作用域和销毁方法

作用域:

  • singleton
    容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。
  • prototype
    Prototype作用域的bean会导致在每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。
  • request
    即每次HTTP请求将会有各自的bean实例, 它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext情形下有效。
  • session
    在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web有效。
  • global Session
    在一个全局的HTTP Session中,一个bean定义对应一个实例。

销毁方法:
在bean中可以指定销毁方法:

<bean id="test" destory-method="destory">

这样Spring会自动寻找test类中的destory方法

4.Bean的延迟实例化:

ApplicationContext实现的额默认模式是在启动时将所有的singleton Bean提前进行实例化,如果不想让一个singleton Bean提前实例化可以用如下方法:

<bean id="exampleBean" lazy-init="true" class="com.test" />

5.指定Bean的依赖关系:

<bean id="beanOne" class="ExampleBean" depends-on="beadTwo,beanThree,..." />
<bean id="beanTwo" class="SecondBean" />
<bean id="beanThree" class="ThreeBean" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值