Maven导入Spring依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.3</version>
</dependency>
Spring配置文件
<?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 id="account" class="com.ttpfx.domain.Account"/>
</beans>
beanfactory 和 ApplicationContext 的区别
beanfactory:在使用对象时创建对象
ApplicationContext:在加载配置文件时创建对象(默认情况下)
使用beanfactory:
Resource resource = new ClassPathResource("Beans.xml");
beanfactory beanfactory = new Xmlbeanfactory(resource);
Account account = beanfactory.getBean(Account.class);
System.out.println(account);
使用ApplicationContext:
ClasspathXmlApplicationContext applicationContext = new ClasspathXmlApplicationContext("Beans.xml");
Account account = applicationContext.getBean("account", Account.class);
System.out.println(account);
创建Bean的三种方式
- 通过构造方法创建对象
<bean id="account" class="com.ttpfx.domain.Account"/>
- 通过普通工厂类的实例方法创建实例:
<bean id="instanceFactory" class="com.ttpfx.factory.InstanceFactory"/>
<bean id="account" factory-bean="instanceFactory" factory-method="getAccount"/>
- 通过静态工厂类的静态方法创建实例:
<bean id="account" class="com.ttpfx.factory.StaticFactory" factory-method="getAccount"/>
Bean的作用范围
<bean id="account" class="com.ttpfx.domain.Account" scope="prototype"/>