第一种方法使用类构造器实例化Bean
1创建一个构造方法
package com.baidu.pojo;
public class UserService {
public UserService() {
System.out.println("----构造器方法----");
//第一种方法使用类构造器实例化Bean
}
}
2配置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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--<bean id="userService" class="com.baidu.pojo.UserService">-->
</bean>
</beans>
3测试类
package com.baidu.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestUserService {
public static void main(String[] args) {
//从classpathx下载配置
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext
("applicationContext.xml");
UserService bean=applicationContext.getBean(UserService.class);
//第一种方法使用类构造器实例化Bean
}
}
2//第二种方法使用静态工厂实例化
1静态工厂方式实例化
package com.baidu.pojo;
public class UserServiceFactory {
public static UserService createUserService(){
return new UserService();//第二种方法使静态工厂器实例化Bean
}
}
2配置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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="userService" class="com.baidu.pojo.UserServiceFactory" factory-method="createUserService">
</bean>
3测试类
package com.baidu.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestUserService {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext
("applicationContext.xml");
System.out.println(applicationContext.getBean("userService"));
//第二种方法使用静态工厂实例化Bean
}
}
第三种种方法使用实例化工厂实例化Bean
package com.baidu.pojo;
public class UserServiceInFactory {
public UserService createUserService(){
return new UserService();
//第三种方法实例化使静态工厂器实例化Bean
}
}
2配置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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="userServiceInFactory" class="com.baidu.pojo.UserServiceInFactory" >
</bean>
<bean id="userService" factory-bean="userServiceInFactory" factory-
method="createUserService">
</bean>
<!--第三种种方法使用实例化工厂实例化Bean-->
</beans>
3测试类
package com.baidu.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestUserService {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext
("applicationContext.xml");
System.out.println(applicationContext.getBean("userService"));
}
}
本文详细介绍了Spring中通过类构造器、静态工厂和实例化工厂三种方式来实例化Bean的过程,包括创建构造方法、配置applicationContext.xml文件以及编写测试类的步骤。

被折叠的 条评论
为什么被折叠?



