“骨干”IOC

本文介绍了Spring框架中的IoC(控制反转)概念,包括被动式资源获取、容器管理组件、bean的注册与作用域,以及依赖注入(DI)。讲解了bean标签的使用、属性赋值、作用域切换,如singleton和prototype。还提到了动态取出配置文件值的方式,自动装配的策略,如byName、byType和constructor。最后,讨论了注解在IoC中的应用,如@Controller、@Service等,并总结了IoC作为容器的角色及其在组件管理中的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   一、何为Java框架?不了解。那么就从最简单的概念入手吧。个人理解,框架就是多个可重用模块的集合,形成一个某个领域的整体解决方案。而spring就是常用的框架之一。Spring又是个什么东西呢?spring是一个IOC(DI)和AOP容器(管理所有的组件(具有功能的类))框架。下面重点总结IOC。
   二、IOC,Inversion(反转)Of

Control:控制反转;控制:资源的获取方式;

          主动式:要什么资源自己创建:

在这里插入图片描述
被动式:资源获取不是我们自己创建,交给一个容器来创建和设置;在这里插入图片描述

三、容器:管理所有的组件(有功能的类);容器最强大的地方在于将资源的主动获取变为被动接收。

   四、DI:Dependency Injection依赖注入;容器能知道哪个组件(类)运行的时候,需要另外一个类(组件);容器通过反射的形式,将容器中准备好的BookService对象注入(利用反射给属性赋值)到目的组件BookServlct中。换句话就是说只要容器管理的组件,都能使用容器提高的强大功能。

   五、在建Java工程时需要注意,导包后要手动把每个jar找到build path按钮添加到工程中,web项目会自动添加所以不需要。

   六、如何在容器注册一个对象并给对象属性赋值?在Java工程中创建一个xml文件,在xml文件中通过配置来获取需要的对象。例如,注册一个Person对象,spring会自动创建这个person对象。

在这里插入图片描述

1.一个bean标签可以注册一个组件(对象、类)2.class:写要注册的组件的全类名

3.id:这个对象的唯一标识。4.容器中对象的创建在容器创建完成的时候就已经创建好了5.同一个组件在ioc容器中是单例的,容器启动完成就已经创建装备好的。6.ioc在创建组件对象的时候,property会利用setter方法为JavaBean的属性赋值。7.JavaBean的属性名有什么决定?getter和setter方法是属性名;set去掉后面那一串首字母小写就是属性名。

七、

在这里插入图片描述
在这里插入图片描述

打印结果:person中的car,Car[carName=特斯拉,price=77万+,color=粉色]

八、我们都知道bean的作用域默认是单实例的,而scope属性可以改变bean的作用域。

1.Scope=“prototype”:多实例的:1.1容器启动默认不会创建多实例bean。1.2获取的时候创建这个bean。1.3每次获取都会创建一个新的对象。2.scope=“singleton”:2.1在容器启动完成之前就已经创建好对象,保存在容器中了。2.2任何获取都是获取之前创建好的那个对象。

九、${key}:动态取出配置文件中某个key对应的值:

<property name=”xxx” value=” ${jdbc.driverClass}”></
property > 在这里插入图片描述

十、1.autowire=“default/no”:不自动装配。2.按照某些规则自动装配:autowire=“byName”

autowire=“byType” autowire=“constructor”

十一、注解。通过给bean上添加某些注解,可以快速的将bean加入到ioc容器中某个类上添加任何一个注解都能快速地将这个组件加入到ioc容器的管理中。Spring四大注解:@controller、@Service、@respository、@Component.使用注解前需要扫描用到注解的包

<context:component-scan
base-package=“com.ch”></context:component-scan>

十二、DI(依赖注入):使用@Autowired注解实现根据类型实现自动装配。在这里插入图片描述

十三、泛型依赖注入关系图:

在这里插入图片描述

最后,整体总结IOC。IOC是一个容器,帮程序员管理所有的组件:

  1. 依赖注入:@Autowired;自动赋值。
    
  2. 某个组件要使用spring提供的更多(IOC、AOP)必须加入到容器中。

  3. 容器启动,创建所有单实例bean。

  4. Autowired自动装配的时候,是从容器中找这些符合要求的bean。

  5. 容器中包含了所有的bean。

"sgmediation.zip" 是一个包含 UCLA(加利福尼亚大学洛杉矶分校)开发的 sgmediation 插件的压缩包。该插件专为统计分析软件 Stata 设计,用于进行中介效应分析。在社会科学、心理学、市场营销等领域,中介效应分析是一种关键的统计方法,它帮助研究人员探究变量之间的因果关系,尤其是中间变量如何影响因变量与自变量之间的关系。Stata 是一款广泛使用的统计分析软件,具备众多命令和用户编写的程序来拓展其功能,sgmediation 插件便是其中之一。它能让用户在 Stata 中轻松开展中介效应分析,无需编写复杂代码。 下载并解压 "sgmediation.zip" 后,需将解压得到的 "sgmediation" 文件移至 Stata 的 ado 目录结构中。ado(ado 目录并非“adolescent data organization”缩写,而是 Stata 的自定义命令存放目录)目录是 Stata 存放自定义命令的地方,应将文件放置于 "ado\base\s" 子目录下。这样,Stata 启动时会自动加载该目录下的所有 ado 文件,使 "sgmediation" 命令在 Stata 命令行中可用。 使用 sgmediation 插件的步骤如下:1. 安装插件:将解压后的 "sgmediation" 文件放入 Stata 的 ado 目录。如果 Stata 安装路径是 C:\Program Files\Stata\ado\base,则需将文件复制到 C:\Program Files\Stata\ado\base\s。2. 启动 Stata:打开 Stata,确保软件已更新至最新版本,以便识别新添加的 ado 文件。3. 加载插件:启动 Stata 后,在命令行输入 ado update sgmediation,以确保插件已加载并更新至最新版本。4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值