【Spring框架02】实例化bean对象

【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();
    }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值