不说废话,直接源码,详细关于理论方法的知识,自己去网上面找吧,这个是关于Spring创建对象的三种方法中的:用静态工厂创建。
需要用到三个类,
第一个类:
package dao;
public class AA {
public void m(){
System.out.println("Spring创建对象的第二钟方法,用静态工厂创建");
}
}
第二个类:
package dao;
public class BB {
public static AA mm(){//静态工厂,返回一个AA类。
return new AA();
}
}
第三个类:
package dao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class CC {
public static void main(String[] args) {
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
//加载配置文件
AA a=(AA) ac.getBean("bb");//由于配置文件中,指定了得到的静态方法,所有这里直接通过id就可以得到b中的静态方法
a.m();
}
}
配置文件:applicationContext.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-2.5.xsd">
<bean id="aa" class="dao.AA"></bean>
<!-- id是自定义的,class是路径 -->
<bean id="bb" class="dao.BB" factory-method="mm"></bean>
<!-- 在使用静态工厂中,factory-method用来指定静态工厂中的静态方法。 -->
</beans>
这个还需要导入两个包,分别是:spring.jar和commons-logging.jar,我用的软件是Myeclipse。