【Spring框架02】实例化bean对象
思维导图
1.构造的方式实例化bean对象
就是用bean标签,注意格式最好齐全,加上spring的小绿叶,不然Test的时候就报错了,QVQ就因为这个我调了很久的代码
<?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">
<!-- configuration details go here -->
<!-- configuration details go here -->
<bean id="helloService" class="com.lcySpring.service.HelloService"></bean>
<bean id="AccountService" class="com.lcySpring.service.AccountService"></bean>
<!-- id起别名-->
</beans>
可以分多个xml文件管理不同层的bean
ApplicationContext context = new ClassPathXmlApplicationContext("service.xml","dao.xml");
当然也可以< import/ >标签在一个总.xml文件中加入要引用的分类.xml文件
2.静态工厂实例化
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.xsd">
<bean id="userService" class="com.lcySpring.facyory.StaticFactory" factory-method="createUserService"></bean>
</beans>
创建一个工厂的静态方法
public class StaticFactory {
public static UserService createUserService(){
System.out.println("对UserService 进行初始化》》》》》》");
UserService userService = new UserService();
userService.setTag("初始化");
return userService;
}
}
需要进行的初始化
public class UserService {
public String tag;
public void test(){
System.out.println(this.tag);
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
}
}
test测试
@Test
public void text02(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
UserService userService = (UserService) context.getBean("userService");
userService.test();
}
3.通过实例化工厂创建
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.xsd">
<bean id="instanceFactory" class="com.lcySpring.facyory.InstanceFactory"></bean>
<bean id="userService02" factory-bean="instanceFactory" factory-method="createUserService"></bean>
</beans>
创建一个工厂的普通方法
public class InstanceFactory {
public UserService createUserService(){
System.out.println("对UserService 进行初始化02》》》》》》");
UserService userService = new UserService();
userService.setTag("初始化02");
return userService;
}
}
test测试
public void text03(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
UserService userService = (UserService) context.getBean("userService02");
userService.test();
}