Spring之初体验 1.创建Spring的IOC容器,并从容器中获取Bean
一、New 一个 Java Project,添加Spring必备的jar和commons-logging-1.2.jar
全选jar,右键,添加到类路径。
二、
新建Class Person,定义几个属性,生成set、get方法,重写toString()方法
package com.jeestudy.spring.bean;
public class Person {
public String name;
public int age;
public String address;
public String phone;
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 String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "Person ";
}
}
三、
添加Spring的配置文件
选中Src ——> New ——>Spring Bean Configuration File
File name : ApplicationContext.xml
Next,勾选bean命名空间即可。
四、
打开ApplicationContext.xml,配置bean。
在<beans></beans>子节点中添加:
<bean id="person" class="com.jeestudy.spring.bean.Person"></bean>
id:为bean在Spring IOC容器中的唯一标识
c lass:bean的全类名
五、
此时,可以看到People.java文件有了"S"标识,表明此文件被Spring管理了
六、创建Spring的IOC容器,从IOC容器中获取bean
建个测试类,并生成main方法。代码如下:
package com.jeestudy.spring.bean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
*
* @author www.jeestudy.com
*
*/
public class Test {
public static void main(String[] args) {
//创建Spring的IOC容器
//ClassPathXmlApplicationContext : 从类路径下读取配置文件
//ApplicationContext.xml 为Spring配置文件名称
ApplicationContext ctx = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//从IOC容器中获取bean根据bean的id获取
Person person= (Person)ctx.getBean("person");
System.out.println(person);
}
}
七、
运行测试类,可以看到控制台输出Person,表明测试成功。
八、还可以根据Bean的类型,从IOC容器中获取Bean,代码:
Person person2 = (Person)ctx.getBean(Person.class);
使用这种方式的话,要求IOC容器中Bean 的类型是没有重复的。
创建Spring的IOC容器,并从容器中获取Bean
关键代码总结:
//创建IOC容器
ApplicationContext ctx = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//从容器中获取bean根据bean的id获取
Person person1 = (Person)ctx.getBean("person");
//从容器中获取bean根据bean的类型获取
Person person2 = (Person)ctx.getBean(Person.class);
页:
[1]