# Spring-Bean **Repository Path**: luo-wenjie12/Spring-Bean ## Basic Information - **Project Name**: Spring-Bean - **Description**: Spring依赖 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-16 - **Last Updated**: 2022-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## springtest - 负责人: - 邮箱: ## 文章 - Spring依赖注入与自动装配: https://blog.csdn.net/weixin_44273302/article/details/113716352 - 深入浅出spring IOC中三种依赖注入方式: https://blog.csdn.net/u011637069/article/details/51958918?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-2&spm=1001.2101.3001.4242 - Spring 实例化bean的三种方式 https://blog.csdn.net/lyc_liyanchao/article/details/82388479 ## 项目简介 用于spring项目练习 ## spring IOC中三种依赖注入方式 - 基于接口注入(基本不用) - 基于构造器注入 - 基于setter注入 ## spring的配置方式 - XML 配置文件。 Bean 所需的依赖项和服务在 XML 格式的配置文件中指定。这些配置文件通常包含许多 bean 定义和特定于应用程序的配置选项。它们通常以 bean 标签开头 如:项目中的 spring-config.xml - 注解配置。 可以更准确地控制应该在何处以及如何进行自动装配。 此注解用于在 setter 方法,构造函数,具有任意名称或多个参数的属性或方法上自动装配 Bean。 默认情况下,它是类型驱动的注入。 @Autowired 注解,按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。如果我们想使用按名称装配,可以结合@Qualifier注解一起使用 @Resource 注解,默认以byName的方式去匹配与属性名相同的bean的id,如果没有找到就会以byType的方式查找,如果byType查找到多个的话,使用@Qualifier注解(spring注解)指定某个具体名称的bean。 ## Spring 三种实例化 bean 的方式比较 - **通过bean的缺省构造函数创建,**当各个bean的业务逻辑相互比较独立的时候或者和外界关联较少的时候可以使用。 - 方式二:利用静态factory方法创建,可以统一管理各个bean的创建,如各个bean在创建之前需要相同的初始化处理,则可用这个factory方法先进行统一的处理等等。 - 方式三:利用实例化factory方法创建,即将factory方法也作为了业务bean来控制,1、可用于集成其他框架的bean创建管理方法2、能够使bean和factory的角色互换 开发中项目一般使用一种方式实例化bean,项目开发基本采用第一种方式,交给spring托管,使用时直接拿来使用即可,另外两种了解即可。 ## 日记 2021-06-16 增加spring 依赖注入的例子 - 基于构造器注入 - 基于setter注入 - 增加注解的自动装配 2021-07-16 - 增加相关注释 - Spring三种实例化bean的方式