ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaEE中Spring配置Bean的四种方法

2021-12-07 16:00:09  阅读:162  来源: 互联网

标签:city school String Spring Address JavaEE Bean address public


记得导入spring相关jar包

src下bean.xml配置如下

<?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.xsd">
	
	<!-- 第一种,利用带参数的构造器注入,格式如下 -->
	<bean name="a1" class="com.edu.bean.Address">
		<constructor-arg index="0" type="java.lang.String" value="北京"/>
		<constructor-arg index="1" type="java.lang.String" value="清华"/>
	</bean>
	
	<!-- 第二种,利用无参构造器注入,格式如下 -->
	<bean name="a2" class="com.edu.bean.Address"/>

	<!-- 第三种,利用属性的setter方法注入,其格式如下 -->
	<bean name="a3" class="com.edu.bean.Address">
		<property name="city" value="济南"></property>
		<property name="school" value="山大"></property>
	</bean>	
	
	<!-- 第四种,利用属性的setter方法注入引用属性,其格式如下 -->
	<bean name="addr" class="com.edu.bean.Address">
		<property name="city" value="山东泰安"></property>
		<property name="school" value="山东农业大学"></property>
	</bean>	
	<bean name="ss" class="com.edu.bean.Students">
		<property name="name" value="张三"></property>
		<property name="age" value="20"></property>
		<property name="address" ref="addr"></property>
	</bean>	
</beans>
	

Address类

package com.edu.bean;

public class Address {
	private String city;
	private String school;
	
	public Address() {
		super();
		this.city="泰安";
		this.school="农大";
	}

	public Address(String city, String school) {
		super();
		this.city = city;
		this.school = school;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getSchool() {
		return school;
	}

	public void setSchool(String school) {
		this.school = school;
	}
	
	public String toString(){
		return "city:"+this.city+"school:"+this.school;
	}
}

Students类

package com.edu.bean;

public class Students {
	private String name;
	private int age;
	Address address;
	public Students(String name, int age, Address address) {
		super();
		this.name = name;
		this.age = age;
		this.address = address;
	}
	public Students() {
		super();
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
	
}

测试类

package com.edu.bean;

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


public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ApplicationContext act=new ClassPathXmlApplicationContext("bean.xml");
		Address address;
		address=(Address)act.getBean("a1");
		System.out.println("city:"+address.getCity()+"school:"+address.getSchool());
		address=(Address)act.getBean("a2");
		System.out.println("city:"+address.getCity()+"school:"+address.getSchool());
		address=(Address)act.getBean("a3");
		System.out.println("city:"+address.getCity()+"school:"+address.getSchool());
		Students student;
		student=(Students)act.getBean("ss");
		//此处需要在Address类里写上toString函数,否则会出现乱码
		System.out.println("name:"+student.getName()+"age:"+student.getAge()+"city:"+student.getAddress());
	}

}

标签:city,school,String,Spring,Address,JavaEE,Bean,address,public
来源: https://blog.csdn.net/weixin_46434074/article/details/121771303

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有