Spring学习(三)

Bean.xml文件

大致的Bean属性:
内部bean
级联属性
特殊字符以及赋空值

<?xml version="1.0" encoding="UTF-8"?>
<beans
     xmlns="http://www.springframework.org/schema/beans"   
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="helloWorld" class="com.firstSpring.HelloWorldImpl"></bean>

    <bean name="student" class="com.shuxing.bean.Student"></bean>
    <bean name="studentDao" class="com.shuxing.bean.StudentDaoImpl"></bean>
    <bean name="studentService" class="com.shuxing.bean.StudentServiceImpl">
        <!-- 1、Setter属性注入 -->  
        <!-- <property name="属性名称" ref="bean引用名称"></property> --> 
        <!-- 
            构造器注入可以指定参数的位置和参数的类型type属性 
            property中的ref属性建立bean之间的引用关系
        -->
        <!--  
        <property name="studentDao" ref="studentDao"></property>
        <property name="student" ref="student"></property>
        -->


        <!-- 2、构造方法注入 -->  
        <!-- <constructor-arg ref="bean引用名称" index="属性索引"></constructor-arg> -->  
        <constructor-arg ref="studentDao" index="0"></constructor-arg>  
        <constructor-arg ref="student" index="1"></constructor-arg>
    </bean>

    <bean id="person" class="com.second.bean.Person">   
    </bean>

    <bean id="car" class="com.second.bean.Car">
        <constructor-arg  value="Ford"></constructor-arg>
    <constructor-arg  value="changagn"></constructor-arg>
    <constructor-arg  value="20000"></constructor-arg>
    </bean>

    <bean id="person2" class="com.second.bean.Person">
        <!-- 
            属性如有特殊字符可以使用<![CDATA[]]>包裹起来
            属性值也可以使用value直接进行配置
        -->
        <constructor-arg type="java.lang.String">
            <value><![CDATA[女一号]]></value>
        </constructor-arg>
        <constructor-arg value="lisi" type="java.lang.String"></constructor-arg>
        <constructor-arg type="java.lang.String">
            <value>21</value>
        </constructor-arg>
        <constructor-arg ref="car"></constructor-arg>
            <!-- 为级联属性赋值 属性需要先初始化再为级联属性赋值 -->
            <property name="car.maxSpeed" value="180"></property>

    </bean>
</beans>

构造方法注入时一定要有无参构造器
赋值时一定要有setXxx方法

2.PersonTest.java

package com.second.bean;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class PersonTest {

    public static void main(String[] args) {

        ApplicationContext ctx=new 
                ClassPathXmlApplicationContext("springXML/beans.xml");
        /*
        <!- 属性注入-->
        Person person=(Person)ctx.getBean(Person.class);
        person.setName("zahngsan");
        person.setAge("21");
        person.setSex("男");
        System.out.println(person.toString());
        person.output();
        */
        <!-在Bean文件中配置->
        Person person2=(Person)ctx.getBean("person2");
        System.out.println(person2.toString());
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值