IoC容器的使用

IoC容器的使用

通过之前的学习,了解了IoC容器、bean以及元数据metadata。

使用IoC容器的顺序:编写Beans的类型及接口→配置元数据→启动IoC容器(同时IoC容器初始化bean)→从IoC容器中取出bean使用

编写Beans的类型

public interface IUserDao {
    public User getUser();
}

public class UserDaoImplMySQL implements IUserDao{

    public User getUser() {
        User u = new User();
        u.setName("测试用户");
        return u;
    }
}

public class User {
    private String name;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

配置元数据metadata(通过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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="userDao" class="SpringTest.Test1.UserDaoImplMySQL"/>

</beans>

注:只需要关注< bean >标签,其他的都是规定,使用的时候从官方文档复制即可。

稍微解释一下,更多的元数据配置在之后的博客中介绍。

  • bean标签,就是告诉IoC容器,要创建一个bean对象
  • bean标签的id属性,容器实例化的bean对象的唯一标识
  • bean标签的class属性,bean对象的真实类型的全限定名

上面这句配置的含义:IoC容器实例化一个类型为SpringTest.Test1.UserDaoImplMySQL的bean,它在容器中的唯一表示为userDao

初始化容器以及从容器中取出bean使用

初始化容器的方法:由于使用的元数据的形式是XML,可以使用以下方法进行读取并初始化IoC容器。

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");  

从容器中取bean:创建好容器后,配置好的bean已经被容器初始化完成,拿来用就可以。

context.getBean("bean的唯一标识");   

使用容器的getBean()方法,将bean的id作为参数,就可以取出配置好的bean。

具体的例子如下:

public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        IUserDao userDao = (IUserDao) context.getBean("userDao");
        System.out.println(userDao.getUser());
    }
}
发布了213 篇原创文章 · 获赞 116 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq2071114140/article/details/104156544