spring学习三:<util>标签的使用

value:

注入基本类型的值,包含String在里面

ref:

注入引用类型的值,用于注入其他bean,后面跟其他bean的id

public class User {
        private String name;
        private int age;
        private String[] arrString;
        private int[] arrInt;
        private Integer[] arrInteger;
        private Set<String> set;
        private Map<String, Object> map;
        private List<String> list;
        private Properties prop;
        private Date date;
        private Calendar cal;

        public void setName(String name) {
            this.name = name;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public void setArrString(String[] arrString) {
            this.arrString = arrString;
        }

        public void setArrInt(int[] arrInt) {
            this.arrInt = arrInt;
        }

        public void setArrInteger(Integer[] arrInteger) {
            this.arrInteger = arrInteger;
        }

        public void setSet(Set<String> set) {
            this.set = set;
        }

        public void setMap(Map<String, Object> map) {
            this.map = map;
        }

        public void setList(List<String> list) {
            this.list = list;
        }

        public void setProp(Properties prop) {
            this.prop = prop;
        }

        public void setDate(Date date) {
            this.date = date;
        }

        public void setCal(Calendar cal) {
            this.cal = cal;
        }

        @Override
        public String toString() {
            return "User{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", arrString=" + Arrays.toString(arrString) +
                    ", arrInt=" + Arrays.toString(arrInt) +
                    ", arrInteger=" + Arrays.toString(arrInteger) +
                    ", set=" + set +
                    ", map=" + map +
                    ", list=" + list +
                    ", prop=" + prop +
                    ", date=" + date +
                    ", cal=" + cal +
                    '}';
        }
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
                            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

    <bean id="calendar" class="java.util.Calendar" factory-method="getInstance"/>

    <bean id="date" factory-bean="calendar" factory-method="getTime"/>

    <!-- 数组类型(数组类型和list类型都只能用<util:list>) -->
    <util:list id="int">
        <value>1</value>
        <value>2</value>
        <value>3</value>
        <value>4</value>
    </util:list>

    <util:list id="String">
        <value>1</value>
        <value>2</value>
        <value>3</value>
        <value>4</value>
        <value>hello</value>
    </util:list>

    <util:list id="Integer">
        <value>1</value>
        <value>2</value>
        <value>3</value>
        <value>4</value>
    </util:list>

    <!-- list类型 -->
    <util:list id="list">
        <value>1</value>
        <value>2</value>
        <value>3</value>
        <value>4</value>
        <value>hello</value>
    </util:list>

    <!-- set类型 -->
    <util:set id="set">
        <value>zhangsan</value>
        <value>lisi</value>
        <value>wangwu</value>
    </util:set>

    <!--map类型-->
    <util:map id="map">
        <entry key="id" value="1"/>
        <entry key="name" value="zhangsan"/>
        <entry key="age" value="23"/>
        <entry key="date" value-ref="date"/>
    </util:map>

    <!--properties类型-->
    <util:properties id="properties">
        <prop key="name">zhangsan</prop>
        <prop key="age">age</prop>
        <prop key="gender">gender</prop>
    </util:properties>

    <bean id="user" class="org.spring.teach.User">
        <!--基本类型(包含String)-->
        <property name="name" value="zhangsan"/>
        <property name="age" value="23"/>

        <!--引用其他bean需要使用ref,而不是使用value-->
        <property name="arrInt" ref="int"/>
        <property name="arrString" ref="String"/>
        <property name="arrInteger" ref="Integer"/>
        <property name="map" ref="map"/>
        <property name="set" ref="set"/>
        <property name="list" ref="list"/>
        <property name="prop" ref="properties"/>
        <!-- 引用类型 -->
        <property name="cal" ref="calendar"/>
        <property name="date" ref="date"/>
    </bean>
</beans>
public class TestCase {

    private AbstractApplicationContext app;

    @Before
    public void before() {
        app = new ClassPathXmlApplicationContext("classpath:spring.xml");
    }

    @After
    public void after() {
        app.close();
    }

    @Test
    public void test() {
        User user = app.getBean("user", User.class);
        System.out.println(user);
    }
}
一月 25, 2019 10:44:21 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7c53a9eb: startup date [Fri Jan 25 10:44:21 CST 2019]; root of context hierarchy
一月 25, 2019 10:44:22 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [spring.xml]
一月 25, 2019 10:44:23 上午 org.springframework.context.support.ClassPathXmlApplicationContext doClose
User{name='zhangsan', age=23, arrString=[1, 2, 3, 4, hello], arrInt=[1, 2, 3, 4], arrInteger=[1, 2, 3, 4], set=[zhangsan, lisi, wangwu], map={id=1, name=zhangsan, age=23, date=Fri Jan 25 10:44:23 CST 2019}, list=[1, 2, 3, 4, hello], prop={age=age, name=zhangsan, gender=gender}, date=Fri Jan 25 10:44:23 CST 2019, cal=java.util.GregorianCalendar[time=1548384263044,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=0,WEEK_OF_YEAR=4,WEEK_OF_MONTH=4,DAY_OF_MONTH=25,DAY_OF_YEAR=25,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=44,SECOND=23,MILLISECOND=44,ZONE_OFFSET=28800000,DST_OFFSET=0]}
信息: Closing org.springframework.context.support.ClassPathXmlApplicationContext@7c53a9eb: startup date [Fri Jan 25 10:44:21 CST 2019]; root of context hierarchy

Process finished with exit code 0

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值