为了账号安全,请及时绑定邮箱和手机立即绑定

Spring框架小白的蜕变

难度初级
时长 3小时50分
学习人数
综合评分9.77
78人评价 查看评价
9.7 内容实用
9.8 简洁易懂
9.8 逻辑清晰
  • IoC容器的编写1

    查看全部
  • 配置SpringWeb上下文环境,Servlet2.4以上


    scope为request表示多例,每次请求都会返回一个新的实例

    scope为session表示单例,每次请求都只返回同一个实例

    scope为application表示单例,每次请求都只返回同一个实例

    <bean id="requestController" class="course1108.video19052.RequestController" scope="request"></bean>
    <bean id="sessionController" class="course1108.video19052.SessionController" scope="session"></bean>
    <bean id="applicationController" class="course1108.video19052.ApplicationController" scope="application"></bean>

    https://img1.sycdn.imooc.com//5d1e06f00001728e10610621.jpg

    查看全部
    0 采集 收起 来源:web相关作用域

    2019-07-04

  • 通过构造方法和set方法注入

    配置文件写法--简便写法


    查看全部
  • 通过构造方法和set方法注入

    配置文件写法1

    查看全部
  • 注入Bean

    查看全部
  • xml中scope参数:

    -singleton

    spring中如果没有加scope就默认是singleton单例模式

    每次向Spring上下文请求该bean,spring都会返回同一个实例,就像下面的bean2,不管请求多少次bean2,bean2只会实例化一次。但是如果是多个context对象去获取,则会实例化多次。实例化的次数根据获取该bena的context的对象个数来决定

    <bean id="19051bean2" class="com.imooc.coursescore1108.video19051.Bean2" scope="singleton"></bean>

    -prototype

    每次向Spring上下文请求该bean,spring都会返回不同的实例,就像下面的bean4,同一个context对象多次请求获取该bean都会返回不同的实例

    <!--scope参数表示实例化的类型是单例还是多例,prototype表示多例模式,一个context对象只会实例化一次-->
    <bean id="19051bean4" class="com.imooc.coursescore1108.video19051.Bean4" scope="prototype"></bean>


    思考:下面这种情况,bean3中有属性bean4。bean4是多例,bean3是单例。此时用spring context去请求2次bean3,这2个bean3对象是否相等?

    答案是相等的,因为虽然bean4是多例,但是bean3是单例。所以spring只会实例化一次bean3,bean4作为其内部属性也只会被实例化一次,不会因为请求了2次bean3去实例化2次

    <bean id="19051bean3" class="com.imooc.coursescore1108.video19051.Bean3">
        <property name="bean4" ref="19051bean4" scope="singleton"></property>
    </bean>
    
    <bean id="19051bean4" class="com.imooc.coursescore1108.video19051.Bean4" scope="prototype"></bean>

    https://img1.sycdn.imooc.com//5d1cc0660001fcfb10460273.jpg

    在bean1是单例,bean2是多例的情况下,通过调用bean1的方法获取不同的bean2

    代码改造,下方为更改后的代码

    https://img1.sycdn.imooc.com//5d1cc1970001f2c711450540.jpg


    spring配置文件修改:

    bean1中加入lookup-method,bean里填beanid

    https://img1.sycdn.imooc.com//5d1cc2070001643211530464.jpg

    查看全部
    1. 通过构造方法实例化Bean

    2. 通过静态方法实例化Bean

      static createBean

    3. 通过实例方法实例化Bean

           createBean 

    <bean id="beanFactory" class="com...BeanFactory" />

    <bean id="beanFromFactory" factory-bean="beanFactory" factory-method="createBean"/>

    查看全部
  • Bean的别名

    name 多个以逗号隔开

    alias 只能有一个别名

    查看全部
  • 使用Spring实例化Bean

    1. 通过构造方法实例化Bean

    2. 通过静态方法实例化Bean

    3. 通过实例方法实例化Bean

    4. Bean的别名

    查看全部
  • IOC 控制反转

    控件对象的创建及销毁(生命周期)

    反转:将对象的控制权交给IOC容器

    查看全部
    0 采集 收起 来源:IoC概念介绍

    2019-07-03

  • spring IOC 

    查看全部
    0 采集 收起 来源:Spring IoC入门

    2019-07-03

  • setter

    constructer

    field


    list的方式

    1.@Bean

    2.另类的注入方式,在上下文中,寻找该类型的都注入这个list;这个注入方式比方法1优先级更高

    3.如果1,2同时存在,可以用@qualified()指定bean

    4.方法2种,可以用@order指定bean的注入list的顺序


    map注入

    1.@Bean

    2.类似list的方法2,会把Map<T>的T类型的bean,自动组成beanId:value的map


    @value简单类型的注入


    还可以直接注入ApplicationContext,BeanFactory,Environment,ResourceLoader,ApplicationEventPublisher,MessageSource等,因为这些是Spring已经管理的类


    查看全部
  • Bean初始化和销毁

    1.实现2个接口InitializingfBean,DisposableBean

    2.@PostConstruct,@PreDestroy也可

    3.@Bean里面有2个属性,initMethod,destroyMethod设置一下/或者<bean>标签配置也可以



    AbstractApplicationContext.close()关闭上下文,才会调用销毁


    查看全部
  • Bean的作用域

    @Scope指定作用域(单例,多例等)

    再设置CustomScopeConfigurer


    @lookup可通过虚方法注入Bean


    查看全部
  • Bean作用域:

        1,Singleton作用域

        2,prototype作用域

        3,Web环境作用域(1,request作用域 2,session作用域 3,application作用域 4,websocket作用域)

        4,自定义作用域(SimpleThreadScope作用域)

    查看全部

举报

0/150
提交
取消
课程须知
需要具备Java语法基础,了解Java Web基础知识。
老师告诉你能学到什么?
1、什么是IoC 2、Spring Bean的管理 3、什么是懒加载

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!