Spring 的bean 管理(配置文件方式)

在spring里面通过配置文件创建对象

1.bean实例化三种方式实现

1)使用类的无参数构造创建(重点)(写了有参数的构造函数,默认没有无参构造函数,使用这种方式,必须重新再写一个)

2) 使用静态工厂创建
创建静态的方法,返回类对象
< bean id=”bean2” class=’cn.itcast.bean.Bean2Factory” factory-method=”getBean2”>< /bean>
无需对实体类进行对象的xml配置

3)使用实例工厂创建
创建不是静态的方法,返回类对象
1.创建工厂对象

< bean id = "bean3Facotry" 
    class =“cn.itcast.bean.Bean3Factory">< /bean>

< bean id="bean2" facotry-bean = "bean3factory"  
    factory-method ="getBean3">< /bean>
2.bean 标签常用属性

(1)id属性:起名称,id属性值名称任意命名
- id属性值,不能包含特殊符号
- 根据id值得到配置对象(自动生成的对象)

(2)class属性:创建对象所在类的全路径

(3)name属性:功能和id属性一样的,id属性值不能包含特殊符号,但是在name属性值

(4)scope属性

  • singleton:默认值,单例
  • prototype:多例
  • request:创建对象把对象放到request域里面
  • session:创建对象把对象放到session域里面
  • globalSession:创建对象把对象放到globalSession里面
3.属性注入

1 定义:创建对象时候,向类里面属性里面设置值

2 属性注入的方式介绍(三种方式)
(1)使用set方法注入
(2)使用有参数构造注入
(3)使用接口注入

3 在spring框架里面,支持前两种方式
(1)set方法注入(重点)

< bean id="book" class="cn.itcast.property.Book">
    < property name = "bookname" value="c++"></property>
< /bean>

(2)有参数构造注入

<bean id="demo" calss = "cn.itcast.property.PropertyDemo1">
        <constructor-arg name = "urername" value="小王”></constructor>
</bean>

4.对象属性的注入

<bean id = "userDao" class ="cn.itcast.ioc.UserDao"></bean>
    <bean id = "userService" 
        class ="cn.itcast.ioc.UserService">
    <property name="userDao" ref = "userDao"></proerty>
</bean>

5.复杂类型注入
1 数组
2 list集合
3 map集合
4 properties类型

<bean id = "person" class="cn.itcast.prpperty.Person">
    <property name="arrs">
            <list>
            <value>小王<value>
            <value>小王<value>
            <value>小王<value>
            </list>
    </property>
</bean>

IOC和DI区别

(1)IOC: 控制反转,把对象创建交给spring进行配置
(2)DI: 依赖注入,向类里面的属性中设置值
(3)关系:依赖注入不能单独存在,需要在ioc基础之上完成操作

补充知识点:
ServletContext 是Servlet与Servlet容器(tomcat)之间直接通信的接口,Servlet容器在启动一个web应用时,会为它创建一个ServletContext对 象,每个web应用有唯一的ServletContext对象,同一个web应用的所有Servlet对象共享一个 ServletContext,Servlet对象可以通过它来访问容器中的各种资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值