Spring Bean注入

Spring Bean注入

Spring Bean注入

首先创建Bean类-People。

public class People {
	private int id;
	private String name;
	public People() {
		super();
		System.out.println("people 构造方法");
		// TODO Auto-generated constructor stub
	}
	public People(int id, String name) {
		super();
		this.id = id;
		this.name = name;
		System.out.println("people 有参构造方法");
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "People [id=" + id + ", name=" + name + "]";
	}
}
  • Spring Bean注入方式有两种:

    • 通过构造方法设置值

    • 设置注入(通过set方法)

      如果属性是基本数据类型或String等。则设置如下:

      <bean id="peo3" class="com.spring.People">
      	<property name="id" value="222"></property>
      	<property name="name" value="you"></property>
      </bean>
      

      或者:

      <bean id="peo3" class="com.spring.People">
      		<property name="id">
      			<value>456</value>
      		</property>
      		<property name="name">
      			<value>you</value>
      		</property>
      </bean>
      

      以上两种配置实现的效果都是一样的。

      测试代码如下:

      public class Test {
          public static void main(String [] args) {
              ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    
              People people = ac.getBean("peo3",People.class);
    
              System.out.println(people);
          }
      }
    

    ​ 如果属性是set<?>,则设置如下:

    <bean id="peo4" class="com.spring.People">
    		<property name="id">
    			<value>456</value>
    		</property>
    		<property name="name">
    			<value>you</value>
    		</property>
    		<property name="sets">
    			<set>
    				<value>1</value>
    				<value>2</value>
    				<value>3</value>
    				<value>4</value>
    			</set>
    		</property>
    </bean>
    

    ​ 测试代码如下:

     public class Test {
          public static void main(String [] args) {
              ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    
              People people = ac.getBean("peo4",People.class);
    
              System.out.println(people);
          }
      }
    

    如果属性是list的话。则设置如下:

    <bean id="peo4" class="com.spring.People">
    		<property name="id">
    			<value>456</value>
    		</property>
    		<property name="name">
    			<value>you</value>
    		</property>
    		<property name="sets">
    			<set>
    				<value>1</value>
    				<value>2</value>
    				<value>3</value>
    				<value>4</value>
    			</set>
    		</property>
    		<property name="lists">
    			<list>
    				<value>list1</value>
    				<value>list2</value>
    				<value>list3</value>
    			</list>
    		</property>
    	</bean>
    

    如果list只有一个值,可以用以下配置:

    <property name="lists" value="list123"></property>
    

    测试代码如下:

     public class Test {
          public static void main(String [] args) {
              ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    
              People people = ac.getBean("peo4",People.class);
    
              System.out.println(people);
          }
      }
    
    

    如果属性是数组的话。则设置如下:

    <bean id="peo4" class="com.spring.People">
    		<property name="id">
    			<value>456</value>
    		</property>
    		<property name="name">
    			<value>you</value>
    		</property>
    		<property name="sets">
    			<set>
    				<value>1</value>
    				<value>2</value>
    				<value>3</value>
    				<value>4</value>
    			</set>
    		</property>
    		<property name="lists">
    			<list>
    				<value>list1</value>
    				<value>list2</value>
    				<value>list3</value>
    			</list>
    		</property>
    		<!-- <property name="lists" value="list123">
    		</property> -->
    		<property name="strs">
    			<array>
    				<value>array1</value>
    				<value>array2</value>
    				<value>array3</value>
    			</array>
    		</property>
    </bean>
    
    

    如果数组中只有一个值,可以用以下配置:

    <property name="strs" value="array1"></property>
    
    

    如果属性是map的话。则设置如下:

    <bean id="peo4" class="com.spring.People">
    		<property name="id">
    			<value>456</value>
    		</property>
    		<property name="name">
    			<value>you</value>
    		</property>
    		<property name="map">
    			<map>
    				<entry key="1" value="map1">
    				</entry>
    				<entry key="2" value="map2">
    				</entry>
    			</map>
    		</property>
    </bean>
    
    

    测试代码同上。

​ 如果属性是Properties的话。则设置如下:

<property name="demo">
			<props>
				<prop key="prop1">prop1</prop>
				<prop key="prop2">prop2</prop>
			</props>
</property>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值