zoukankan      html  css  js  c++  java
  • 从头认识Spring-1.7 如何通过属性注入Bean?(1)-如何通过属性向对象注入值?

    这一章节我们来讨论一下如何通过属性注入Bean?

    这一章节分为两部分,第一部分我们通过属性向对象注入值,第二部分我们通过属性向对象注入还有一个对象的引用。

    1.如何通过属性向对象注入值?

    (1)domain

    package com.raylee.my_new_spring.my_new_spring.ch01.topic_1_7;
    
    public class Cake {
    
    	private final int id = index++;
    
    	private static int index = 0;
    
    	private String name = "";
    
    	private double size = 0;
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public double getSize() {
    		return size;
    	}
    
    	public void setSize(double size) {
    		this.size = size;
    	}
    
    	public int getId() {
    		return id;
    	}
    
    	@Override
    	public String toString() {
    		return "create the cake,its id:" + id + ", size:" + size + " inch ,name:" + name;
    	}
    }
    


    这一个领域类我们仅仅须要一个Cake就够了。可是我们在里面会加上名称(name)和大小(size)这两个属性,然后我们通过Spring来帮我们赋值。

    (2)測试类:

    package com.raylee.my_new_spring.my_new_spring.ch01.topic_1_7;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.ApplicationContext;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = {
    		"/com/raylee/my_new_spring/my_new_spring/ch01/topic_1_7/ApplicationContext-test.xml" })
    public class CakeTest {
    
    	@Autowired
    	private ApplicationContext applicationContext;
    
    	@Test
    	public void testChief() {
    		Cake cake = applicationContext.getBean(Cake.class);
    		System.out.println(cake.getId());
    		System.out.println(cake.getName());
    		System.out.println(cake.getSize());
    	}
    }
    


    没什么特别。仅仅须要get那个Bean出来,然后打印一下几个属性就可以。

    (3)配置文件

    <?

    xml version="1.0" encoding="UTF-8"?

    > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <bean id="cake" class="com.raylee.my_new_spring.my_new_spring.ch01.topic_1_7.Cake"> <property name="name" value="Blueberry Cheesecake" /> <property name="size" value="7" /> </bean> </beans>


    配置文件比較重要,我们在Bean里面须要插入property这个标签,然后name这个属性须要跟我们的domain类的属性名字一样。

    注意:这里首字母能够不区分大写和小写

    也就是

    <bean id="cake"
    		class="com.raylee.my_new_spring.my_new_spring.ch01.topic_1_7.Cake">
    		<property name="Name" value="Blueberry Cheesecake" />
    		<property name="Size" value="7" />
    	</bean>


    <bean id="cake"
    		class="com.raylee.my_new_spring.my_new_spring.ch01.topic_1_7.Cake">
    		<property name="name" value="Blueberry Cheesecake" />
    		<property name="size" value="7" />
    	</bean>


    是一样的

     可是像以下的全然的大写,就会抛异常

    <bean id="cake"
    		class="com.raylee.my_new_spring.my_new_spring.ch01.topic_1_7.Cake">
    		<property name="NAME" value="Blueberry Cheesecake" />
    		<property name="SIZE" value="7" />
    	</bean>


     

    測试输出:

    0
    Blueberry Cheesecake
    7.0

    总结:这一章节主要介绍了如何通过属性向对象注入值,还有中间须要注意的大写和小写的问题

    文件夹:http://blog.csdn.net/raylee2007/article/details/50611627 

     

    我的github:https://github.com/raylee2015/my_new_spring

  • 相关阅读:
    【数学】三分法
    【数学】【背包】【NOIP2018】P5020 货币系统
    【数学】【CF27E】 Number With The Given Amount Of Divisors
    【单调队列】【P3957】 跳房子
    【极值问题】【CF33C】 Wonderful Randomized Sum
    【DP】【CF31E】 TV Game
    【神仙题】【CF28D】 Don't fear, DravDe is kind
    【线段树】【CF19D】 Points
    【字符串】KMP字符串匹配
    【二维树状数组】【CF10D】 LCIS
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7249788.html
Copyright © 2011-2022 走看看