欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring框架之基于xml的IoC的快速入门02

程序员文章站 2022-05-23 15:01:55
...

Spring框架之基于xml的IoC的快速入门02

IoC概念

​ IoC(控制反转),把创建对象的权力交给框架,是框架的重要特征,并非面向对象编程的专用术语.它包括依赖注入和依赖查找.

Ioc的作用

​ 削减计算机程序的耦合(解除我们代码中的依赖关系)

使用Spring的ioc解决程序耦合

搭建环境准备

​ 官网:http://spring.io/

下载spring的开发包

编写bean.xml的配置文件

1.根据官网查找bean.xml的约束

2.通过bean标签来创建对象并且给属性赋值唯一标识和全限定类名

bean.xml:

<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">
    <!--把对象的创建交给spring来管理 -->
    <!-- id为唯一标识 class为全限定类名 -->
    <bean id="accountService" class="cn.itcast.service.impl.AccountServiceImpl"></bean>
    <bean id="accountDao" class="cn.itcast.dao.impl.AccountDaoImpl"></bean>
</beans>

模拟一个表现层

用于调用业务层

import cn.itcast.service.IAccountService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
​
public class Client {
    public static void main(String[] args) {
        /**
         * 获取spring中ioc的容器,并且根据id获取对象
         */
        //1.获取核心容器对象
        ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
        //2.根据id获取bean对象
        IAccountService as = ac.getBean("accountService",IAccountService.class);
        as.saveAccount();
​
    }
​
}

 

对于ApplicationContext的实现类详解

ApplicationContext的三个常用实现类

ClassPathXmlApplicationContext:

​ 它可以加载类路径下的配置文件,要求配置文件必须在类路径下,不在的话,加载不了.

FileSystemXmlApplicationContext:

​ 它可以加载磁盘任意路径下的配置文件(必须有访问权限)

 

AnnotationConfigApplicationContext:

​ 它是用于读取注解创建容器的

核心容器的俩个接口的区别

ApplicationContext: 单例对象时适用 采用此接口

​ 他在构建核心容器时,创建对象采用的方式是立即加载,只要读取配置文件就马上创建配置文件中的配置的对象

BeanFactory: 多例对象时适用

​ 他在构建核心容器时,创建对象采用的方式是延迟加载,也就是什么时候根据id获取对象,什么时候才真正的创建对象