java中.xml配置中bean标签的认识

java中.xml配置中bean标签的认识

 

 

注意事项:
1、怎么把我们的.xml文件注入到Spring容器中?

  千万注意要在web.xml文件中,的<context-param></context-param>标签中配置我们自定义的.xml文件,通过<listener></listener>这个标签把我们配置的文件注入到Spring容器中;

2、怎么把我们的自己写的类注入到Spring容器中?配置bean时,配置的是接口还是实现?

    1.我们只需在Spring容器能加载到的地方配置bean就可以把自定义类加入到Spring容器中,注意:我们配置的bean是实现类,而不是接口!! 
    2.我们可以直接在我们的impl类中配置@service,把相应的类注入到spring容器中。
切记这两种方式都可以注入

说明:在配置文件中配置bean,其实就是在Spring容器中注入类,这个类在Spring容器中有唯一一个表示id,我们可以通过Spring容器去管理这个类,非常方便(类似ios中的ARC自动释放池);

Paste_Image.png

<!--注意:一旦在配置文件中配置bean映射,则配置的这个class就会被注入到Spring容器中,我们可以在程序中直接只用这个类,比如@Autowired为什么能够自动写入get/set方法,就是因为当前类已经注入到Spring容器中了, 当然我们也可以在程序中通过id(不通过Spring容器),找到类对应的对象,去处理相关的东西  -->
<!-- 这个配置的含义是:程序开始执行org.springframework.web.servlet.view.InternalResourceViewResolver这个类,并设置这个类中的prefix属性值为/,suffix属性值为.jsp -->
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
         <!-- 使用前缀和后缀 -->
         <property name="prefix" value="/"></property>
         <property name="suffix" value=".jsp"></property>
     </bean

总结刚学的关于spring的xml配置bean的知识。** 在ApplicationContext.xml文件中使用bean节点配置bean,bean的属性id在IOC容器中必须是唯一的

<bean id="helloWorld" class="com.test.spring.beans.HelloWorld">
        <property name="name" value="Spring"></property>
</bean>

依赖注入有三种方式
属性注入
构造方法注入
工厂方法注入(很少使用,不推荐,本文不再介绍)

属性注入
  通过 setter 方法注入Bean 的属性值或依赖的对象。属性注入使用 <property>
元素, 使用 name 属性指定 Bean 的属性名称,value 属性或 <value>
子节点指定属性值 。属性注入是实际应用中最常用的注入方式。HelloWorld类中的setName()方法,对应上边代码中的name属性,例如:把setName()方法名改为setName2(),property中的name属性值为name时则会报错,需要将name属性改为name2。

构造方法
  构造方法注入Bean 的属性值或依赖的对象,它保证了 Bean 实例在实例化后就可以使用。   构造器注入在 <constructor-arg>
元素里声明属性, <constructor-arg>
中没有 name 属性。使用value属性值或value子节点为属性赋值。可以同时使用索引 index 和type属性对应为哪个属性赋值。index的值表示构造函数中参数的位置。type表示成员属性的类型,例如type="double"
或者type="Java.lang.String"

<bean id="car" class="com.test.spring.beans.Car">
        <constructor-arg value="Audi" index="0"></constructor-arg>
        <constructor-arg value="ShangHai" index="1"></constructor-arg>
        <constructor-arg value="300000" type="double"></constructor-arg>
</bean>

集合属性

当注入的属性是集合时,Spring也提供了通过一组内置的 xml 标签(例如: <list>, <set> 或 <map>) 来配置集合属性。
  配置 java.util.List 类型的属性, 需要指定 <list> 标签, 在标签里包含一些元素. 这些标签可以通过 <value> 指定简单的常量值, 通过 指定对其他 Bean 的引用. 通过<bean> 指定内置 Bean 定义. 通过 指定空元素. 甚至可以内嵌其他集合.
  数组的定义和 List 一样, 都使用 <list>配置 java.util.Set 需要使用 <set> 标签, 定义元素的方法与 List 一样。

<!-- 测试如何配置集合属性 -->
    <bean id="persion3" class="com.test.spring.beans.collection.Persion">
       <property name="name" value="Mike"></property>
       <property name="age" value="27"></property>
       <property name="cars">
       <!-- 使用list节点为list类型的属性赋值 -->
           <list>
               <ref bean="car"/>
               <ref bean="car2"/>
           </list>     
       </property>
    </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值