Spring IOC使用简介

 时间:2024-10-19 13:44:32

1、IOC(inversion of control):ioc有两种方式,DI(dependecy injection)和DL,dl( dependency lookup),前者是当前软件实体被动接受其依赖的其他组件被ioc容器注入,后者则是当前软件实体主动去某个服务注册地查找依赖的哪些服务。

Spring IOC使用简介

2、spring ioc容器的依赖注入流程:1、收集和注册。通过xml或java代码的方式定义一些bean,通过手动组装或让容器基于某些机制自动扫描的形式,把这些bean收集到ioc容器中。通过xml方式收集并注册单一bean,形式如下: <bean id="mySpringMvc" class="com.myproject.springmvc.MySpringMvc"/>可以通过xml schema形式的配置进行批量扫描并采集和注册。<context:component-scan base-package="com.myproject"/>2、分析和组装: ioc容易收集并注册完bean之后,会根据它们之间的依赖关系先后组装它们。

Spring IOC使用简介

3、JavaConfig配置类:JavaConfig配置形式。类上打上@Configuration注解,表示JavaConfig配置类。等同于XML文件中的beans。通过@Bean标注的方法,其返回值作为一个bean定义注册到IoC容器,方法名默认成为该bean的id,也可以重命名bean;并可指定initMethod和destroy方法。等同于XML文件中的bean。bean的依赖,直接调用JavaConfig类中依赖bean的创建方法即可。如图所示,myservice直接调用了dependencyService()方法。

Spring IOC使用简介

4、测试类:使用AnnotationConfigApplicationContext初始化上下文,通过getBean方法获取实例对象,并调用其方法。获取多个对象实例,并判断是否为同一个对象。

Spring IOC使用简介

5、测试结果:结果中,初始化了bean,并调用了init()方法。2次创建的dependencyService对象并不相同。

Spring IOC使用简介

6、JavaConfig其他Annotation: 比如@ComponentScan,等同于XML中的<context:component-scan/>元素,用于批量采集并注册bean至ioc容器中。@PropertySource用于加载*.properties文件属性到IoC容器中。@Import,等同于XML中的<import resource="x.xml"/>元素,只负责引入JavaConfig形式的Ioc容器配置。@ImportResource可以引入xml文件至JavaConfig配置的容器中。

  • spring boot中如何使用过滤器
  • maven使用远程仓库
  • 报表生成器FineReport中如何部署报表
  • weblogic11g的安装配置
  • TortoiseGit如何忘记账号密码?
  • 热门搜索
    葱白是什么 卡盟是什么 什么的眼泪 什么是个人所得税 hd4000相当于什么显卡 预调酒是什么意思 大脸适合什么发型 妇炎洁是什么 斑秃是什么原因 物流管理专业学什么