Spring相关概念和类

   1、IOC

            inverse of control    控制反转   反转了创建对象的方式

           以前:new 对象,管理和维护开发者来完成

           Spring:Spring创建和管理,维护对象,开发者只需要使用该对象。

 2、DI(Dependecy Injection): 依赖注入

         DI是为IOC做支持的  

         IOC创建的对象的内容是null,所以我们要注入内容

 3、BeanFactory    ApplicationContext,classPathXMLApplicationContext

         最原始的接口

         是BeanFactory的实现类

         是ApplicationContext的实现类,用于加载spring的配置文件

二、Spring的bean的创建方式(3种)

    1 、无参构造方法  <bean name=" " class="包名+类名">

           2 、静态工厂方式   <bean   name="  " class="包名+类名(工厂的类名)"  factory-method="工厂中的静态方法">

           3、实例工厂方式    首先先创建工厂对象

                                 <bean name="factory"   class="包名+类名(工厂类的名字)">

                                  <bean  name=" "   factory-bean="factory "   factory-method="工厂中的创建对象的方法"> 

三、Spring属性注入方式(DI)

        1、构造方法注入

     <constructor-arg name="" value=""></constructor-arg>(基本类型)

     <constructor-arg name="" ref=""></constructor-arg>     (引用类型) 

   指定参数位置    index  从0开始

        2、set方法注入

         <property name=""   value=""></property>(基本类型)

         <property  name=""  ref=""></property>(引用类型)

        3、p名称空间注入

            1、引入名称空间

            2、使用:

           3、基本类型:   p:属性名="值"   引用类型:  p:属性名-ref="值"

        4、spel注入

          #{表达式}    字符串的值要用单引号括起来

          也可以用对象点出来    #{user1.user.id}  都是 value

四、Spring复杂类型注入(4种)(DI)

         array:<array name="">  

                   <value></value>

                   <value></value>

                     </array>

         list:<list name="">  

                   <value></value>   

                    <ref   bean=""></ref>

                 </list>

         map:  <map name="">

                         <entry key="" value=""></entry>

                         <entry key="" value-ref=""></entry>

                      </map>

         

       properties:<property  name="">

                                <props>

                                       <prop  key="">value</prop>

                                        <prop  key="">value</prop>

                              </props>

                         </property>

                      

      

                            

Spring———bean的创建方式,注入方式,复杂类型注入 概括的更多相关文章

  1. spring Bean的三种配置方式

    Spring Bean有三种配置方式: 传统的XML配置方式 基于注解的配置 基于类的Java Config 添加spring的maven repository <dependency> ...

  2. Spring 源码(10)Spring Bean 的创建过程(1)

    Spring Bean的创建刚开始进行了一些准备工作,比如转换服务的初始化,占位符解析器的初始化,BeanDefinition元数据的冻结等操作,都是为了在创建Bean的过程中保证Bean的正确的创建 ...

  3. Spring 源码(11)Spring Bean 的创建过程(2)

    Spring Bean 的创建过程介绍了FactoryBean 的创建方式,那么接下来介绍不是FactoryBean的创建方式,在创建过程中,又会分为单例的Bean的创建,原型类型的Bean的创建等. ...

  4. Spring 源码(12)Spring Bean 的创建过程(3)

    继续上一篇Spring Bean的创建过程的解读,上一篇介绍了Spring在创建过程中doGetBean方法,在执行过程中会调用getSingleton方法并且设置一个lambda表达式,这个lamb ...

  5. Spring 源码(13)Spring Bean 的创建过程(4)

    Spring Bean的创建过程非常的复杂,上一篇重点介绍了Spring在创建Bean的过程中,使用InstantiationBeanPostProcessor进行提前创建Bean,我们可以通过CGL ...

  6. spring Bean装配的几种方式简单介绍

    Spring容器负责创建应用程序中的bean同时通过ID来协调这些对象之间的关系.作为开发人员,我们需要告诉Spring要创建哪些bean并且如何将其装配到一起. spring中bean装配有两种方式 ...

  7. Spring Bean自动装配有哪些方式?

    Spring 容器能够自动装配 Bean .也就是说,可以通过检查 BeanFactory 的内容让 Spring 自动解析 Bean 的协作者. 自动装配的不同模式: no - 这是默认设置,表示没 ...

  8. Spring Bean学习创建及使用<二>

    转自:http://blessht.iteye.com/blog/1162131 平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的 ...

  9. Spring Bean学习创建及使用<一>

    转自:http://glzaction.iteye.com/blog/1299441 Spring中依赖注入有三种注入方式: 一.构造器注入: 二.设值注入(setter方式注入): 三.Feild方 ...

随机推荐

  1. 用keytool制作证书并在tomcat配置https服务(一)

    https分为单项认证和双向认证. 一般https页面上的访问都是单项认证,服务端发送数字证书给客户端,客户单方面验证.而服务端不做验证. 而双向认证,需要双方都有证书,然后发送给对方进行验证.一般用 ...

  2. Linux命令-cut篇

    Cut 命令是常用的 Linux 命令,在这里总结一下平时常用的参数和用法,方便查证. 常用参数: -b:以字节为单位进行分割: -c:以字符为单位进行分割: -d:自定义分割符进行分割,默认为制表符 ...

  3. day13函数的嵌套定义,global、nonlocal关键字,闭包及闭包的运用场景,装饰器

    复习 ''' 1.函数对象:函数名 => 存放的是函数的内存地址 1)函数名 - 找到的是函数的内存地址 2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => ...

  4. Android5.0新特性之——按钮点击效果动画(涟漪效果)

    Android5.0 Material Design设计的动画效果 RippleDrawable涟漪效果 涟漪效果是Android5.0以后的新特性.为了兼容性,建议新建drawable-v21文件夹 ...

  5. Bootstrap3基础 下载bootstrap3压缩包和相应的jQuery文件

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  6. code回顾

    Linq return Content("<script>alert('你想说的话');javascript:history.go(-1);</script>&quo ...

  7. 使用NVM管理Node - Windows

    安装 NVM NVM 下载:https://github.com/coreybutler/nvm-windows 安装 Node 注意:如果没有FQ默认源可能安装npm失败,请参考下一节“安装 NPM ...

  8. Maven下载与环境变量配置

    前言: Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK.如果还未安装 JDK,可以参考Win10下JDK下载与环境变量配置. 项目 要求 JDK Maven 3.3+ ...

  9. LeetCode--030--串联所有单词的字串(java)

    给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要 ...

  10. 自动生成CHANGELOG.md

    $ npm install -g conventional-changelog-cli $ cd my-project $ conventional-changelog -p angular -i C ...