控制反转( Ioc)快速入门

小灰灰 2020-05-08 06:05 980阅读 0赞

什么是控制反转(IOC:Inverse of Control)

IOC反转控制,实际上就是将对象的创建权交给了Spring,程序员无需自己手动实例化对象。

可以看出来工厂的作用就是用来解耦合的,而在使用spring的过程中,spring就是充当这个工厂的角色。IOC**反转控制,实际上就是将对象的创建权交给了Spring**,程序员无需自己手动实例化对象

2.2、Spring编程—IOC程序实现

2.2.1建立spring工程(基于maven)

pom.xml

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework</groupId>
  4. <artifactId>spring-context</artifactId>
  5. <version>4.2.6.RELEASE</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>junit</groupId>
  9. <artifactId>junit</artifactId>
  10. <version>4.12</version>
  11. </dependency>
  12. </dependencies>

2.2.2 编写Java类

接口:

  1. public interface HelloService {
  2. public void sayHello();
  3. }

实现类:

  1. public class HelloServiceImpl implements HelloService {
  2. public void sayHello(){
  3. System.out.println("hello,spring");
  4. }
  5. }

2.2.3 编写配置文件

在resource目录下创建applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- 引入约束 -->
  3. <beans xmlns="http://www.springframework.org/schema/beans"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="
  6. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  7. <!-- 配置实用哪个实现类对Service接口进行实例化 -->
  8. <!-- 配置实现类HelloServiceImpl,定义名称helloService -->
  9. <bean
  10. id="helloService"
  11. class="com.dandelioncloud.spring.HelloServiceImpl">
  12. </bean>
  13. </beans>

2.2.4 测试

  1. public class HelloServiceTest {
  2. //传统写法(紧密耦合)
  3. @Test
  4. public void traditionalTest(){
  5. HelloService service = new HelloServiceImpl();
  6. service.sayHello();
  7. }
  8. //使用Spring
  9. @Test
  10. public void springTest(){
  11. // 工厂+反射+配置文件,实例化Service对象
  12. ApplicationContext context = new ClassPathXmlApplicationContext(
  13. "applicationContext.xml");
  14. //通过工厂根据配置的实例名称获取实例对象
  15. HelloService service2=(HelloService) context.getBean("helloService");
  16. service2.sayHello();
  17. }
  18. }

发表评论

表情:
评论列表 (有 0 条评论,980人围观)

还没有评论,来说两句吧...

相关阅读

    相关 什么事控制IOC

    在控制反转之前:程序是主动创建对象的,控制全在程序员手中; 在控制反转之后:使用set注入后,程序不在有主动权,而是变成被动的接受对象。 程序员不用管理对象的创建,系统耦合

    相关 spring—控制IOC

    IOC即为Inversion of Control,中文名称为控制反转。它是一种设计模式,用于降低代码耦合度,提高代码可维护性和可扩展性。 在面向对象编程中,对象之间的依赖关

    相关 spring Ioc(控制)

    简述: spring的核心有两部分:ioc和aop (1)ioc:控制反转,之前调用一个类中的不是静态的方法,创建类的对象 new 类,再调用。现在使用spring的ioc

    相关 Spring框架 IOC控制

    对象之间的依赖由容器建立,避免对象之间依赖由对象自身建立。可以用减少代码之间的耦合度。其中最常见的方式叫做依赖注入。 当A类中用到了B类的对象b,在没有IOC时需要在A的代