一、IoC

 
 IoC是一种概念,是一种考虑,指将古板上由程序代码直接操控的目的调用权交给容器,通过容器来落实指标的装配和治本。控制反转是对指标控制权的更换,从程序代码本身反转到外部容器。

  当前IoC相比较流行的三种达成格局:重视注入(DI)和依靠查找(DL)。

 
重视注入,近日最优先的解耦情势,程序代码不做固定查询,那些工作由容器自行完毕。

二 、守旧开发情势的通病

Spring三层架构:

图片 1

图片 2

1 @Test
2     public void test01() {
3         ISomeService service=new SomeServiceImpl();
4         service.dosome();
5     }

test约等于view层,view层和service层耦合在一块,service达成类改动,view层便需求改变,耦合度高。

叁 、Spring配置文件

打开spring-framework-4.3.2.RELEASE\docs\spring-framework-reference\html\xsd-configuration.html,复制以下代码到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"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- bean definitions here -->

</beans>

配置XML Catalog

肆 、从容器中获取对象

(1)在applicationContext.xml中注册Service

 <bean id="myservice" class="com.jmu.service.SomeServiceImpl"></bean>

相当于

SomeServiceImpl myService=new SomeServiceImpl();

(2)创立容器对象,加载Spring配置文件

图片 3

1 @SuppressWarnings("resource")
2     @Test
3     public void test02() {
4         //创建容器对象
5         ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
6         ISomeService service=(ISomeService) ac.getBean("myService");
7         service.dosome();
8     }

 5、ApplicationContext和BeanFactory容器的不同

  1. ApplicationContext容器在开始展览对象开始化时,会将中间的有着Bean(对象)进行创办;
  2. BeanFactory容器中的对象,在容器初阶化时,并不会被创建,而是在真正获得该对象的时,才被创设;
  Application BeanFactory
优点 响应速度快 不多占用系统资源
缺点 占用系统资源(内存、cpu) 相对来说,响应速度慢

相关文章

网站地图xml地图