您的位置:首页 > 移动开发

JavaWeb学习笔记-spring-02-ioc-BeanFactory&ApplicationContext

2018-02-11 15:03 786 查看

BeanFactory&ApplicationContext

BeanFactory://ioc容器,面向spring本身

ApplicationContext//应用上下文(spring容器),面向开发者

BeanFactory

Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
Test test = (Test)factory.getBean("test");

applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.spring framework.org/dtd/spring-beans.dtd">
<benas>
<bena id="test" class="com.mr.test.Test">
</beans>


<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${org.springframework.version}</version>
</dependency>


public class Car {
private String brand;
private String color;
private String maxSpeed;

public String getBrand() {
return brand;
}

public void setBrand(String brand) {
this.brand = brand;
}

public String getColor() {
return color;
}

public void setColor(String color) {
this.color = color;
}

public String getMaxSpeed() {
return maxSpeed;
}

public void setMaxSpeed(String maxSpeed) {
this.maxSpeed = maxSpeed;
}
}


<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
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 id="car" class="com.smart.Car"
p:brand="xxx"
p:color="xxx"
p:maxSpeed="xxx"/>

</beans>


public class BeanFactoryTest {
public static void main(String[] args)throws Throwable{
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource res = resolver.getResource("classpath:beans.xml");
BeanFactory bf = new XmlBeanFactory(res);
System.out.println("init BeanFactory");
Car car = bf.getBean("car",Car.class);
System.out.println(car.getColor());
}
}


ApplicationContext

//"classpath:beans.xml"=="beans.xml",配置文件在类路径下
ApplicationContext ctx = new ClassPathXmlApplicationoContext("beans.xml");
//"file:beans.xml"=="beans.xml",配置文件在文件系统下
ApplicationContext ctx = new FileSystemXmlApplicationContext("beans.xml");
//多个配置文件组合
ApplicationCntext ctx = new ClassPathXmlApplicationContext(new String[]{"beans1.xml","beans2.xml"});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐