c语言编程笔录

首页 >   > 笔记大全

笔记大全

ioc怎么利用Spring boot实现

更新时间:2023-10-17

什么是IoC?

控制反转(IoC)是一种设计模式,它的核心思想是将对象创建和对象依赖解耦。通常,一些程序类是紧密耦合的,类之间的相互依赖性导致了一个类的修改可能会影响到其它类,从而对整个程序产生了影响。IoC旨在提高代码的可维护性、可扩展性和可重用性。

Spring Boot是什么?

Spring Boot 是 Spring 框架的一种扩展,用于快速、高效地创建基于 Spring框架的应用程序。它默认包含了嵌入式 Tomcat、Jetty 或 Undertow 服务器,可以方便地打包和部署在云平台上。Spring Boot 内置了多种组件,可用于实现各种开发任务,例如与其他数据库和云服务集成,应用安全性等。

Spring Boot与IoC的结合

Spring 框架通过 BeanFactory、ApplicationContext和注解等手段实现了基于IoC的依赖注入(DI)。结合Spring Boot,我们可以快速使用IoC实现应用程序的模块化管理。下面是一个简单示例,演示如何在Spring Boot中使用IoC创建和管理Bean对象。


//创建一个简单的Java类,计算两个数之和
public class MyAddition {
    private int num1;
    private int num2;
    private int result;
    public void setNum1(int num1) {
        this.num1 = num1;
    }
    public void setNum2(int num2) {
        this.num2 = num2;
    }
    public void add() {
        result = num1 + num2;
    }
    public void display() {
        System.out.println("Additon is " + result);
    }
}

在Spring Boot中实现IoC依赖注入

在Spring Boot中,我们可以创建一个简单的配置文件,通过注解和Bean类来实现Bean的依赖注入。在下面的例子中,我们创建了一个简单的应用程序类MyApp,将MyApp依赖于MyAddition类,其中MyAddition类被注入到MyApp类中。这样,我们就可以通过Spring Boot管理MyApp和MyAddition类的生命周期和依赖关系。


@SpringBootApplication

public class MyApp {

  @Autowired
  private MyAddition addition;

  public static void main(String[] args) {
    SpringApplication.run(MyApp.class, args);
  }

  @PostConstruct
  private void run() {
    addition.setNum1(2);
    addition.setNum2(3);
    addition.add();
    addition.display();
  }

  @Bean
  public MyAddition myAddition() {
    return new MyAddition();
  }
}

结论

通过IoC依赖注入,Spring Boot可以轻松实现应用程序的模块化管理。在内部,Spring Boot是通过创建一个上下文对象ApplicationContext,并通过BeanFactory实现Bean的生命周期和依赖关系的管理。程序员不需要手动处理这些对象的创建和依赖关系,而是从Spring上下文中获取它们。这使得开发更快速、更容易、更高效,并提高了代码的可读性、可维护性和可扩展性。