第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

Spring框架小白的蛻變

難度初級
時(shí)長 3小時(shí)50分
學(xué)習(xí)人數(shù)
綜合評分9.77
78人評價(jià) 查看評價(jià)
9.7 內(nèi)容實(shí)用
9.8 簡潔易懂
9.8 邏輯清晰
  • bean1單例,Bean2多例的時(shí)候

    如果想要注入的bean2是不同bean2時(shí),可以用

    ????類中定義abstract抽象方法,protect abstract Bean2 createBean2();

    ????配置文件種 原來property標(biāo)簽注入的,改用lookup-method標(biāo)簽注入name制定淚中方法,bean制定注入bean2

    查看全部
  • 1、構(gòu)造方式注入

    ????類中有帶參數(shù)構(gòu)造方法

    ????xml中配置bean,子標(biāo)簽constructor-arg標(biāo)簽,配置屬性? index、name、type確定構(gòu)造參數(shù),配置value,ref給屬性賦值(ref用用,value基本)

    還要簡便寫法如圖,要改一下文件上面頭部申明


    2、集合類型注入

    ????類中g(shù)et/set方法

    ????xml中配置property標(biāo)簽,標(biāo)簽下子標(biāo)簽list,list下用value/ref標(biāo)簽賦值;set用set標(biāo)簽,下面也用value/ref標(biāo)簽賦值;map用Map標(biāo)簽,entry標(biāo)簽賦值;properties,子標(biāo)簽props子標(biāo)簽prop賦值

    查看全部
  • Spring實(shí)例化bean的三種方式:

    1、構(gòu)造方法實(shí)例化Bean

    2、靜態(tài)方法實(shí)例化Bean

    ????BeanFactory類,類中有靜態(tài)方法,作用實(shí)例化Bean

    ????xml中配置BeanFactory,標(biāo)簽屬性中factory-method=類中實(shí)例化Bean的靜態(tài)方法

    3、實(shí)例化方法實(shí)例化Bean

    ????BeanFactory類,類中有方法,作用實(shí)例化Bean

    ????xml中配置BeanFactory,

    ????xml中配置bean,bean的屬性中factory-bean=factoryBean? ,factory-method=factory中實(shí)例化bean的方法

    4、Bean的別名

    查看全部
  • IoC容器約定

    http://img1.sycdn.imooc.com//62b041320001766f08400543.jpg

    查看全部
  • Spring通過注解注入Bean

    @Autowired:通過該注解實(shí)現(xiàn)構(gòu)造方法注入和set方法注入,可以標(biāo)識在有參構(gòu)造方法上、set方法上、屬性上。

    一、通過方法注入Bean

    1:通過有參構(gòu)造方法注入

    步驟1:創(chuàng)建掃描配置類,并添加注解@Configuration、@ComponentScan(value=“路徑”)

    代碼:

    @Configuration

    @ComponentScan(value="springzhuru")

    public class MyConfiguration {

    }

    步驟2:創(chuàng)建要實(shí)例化的Bean,并提供有參的構(gòu)造方法,并在構(gòu)造方法上添加注解@Autowired在類上添加@Component。
    代碼:

    @Component

    public class MyBean {

    private AnotherBean anotherBean;

    @Autowired

    public MyBean(AnotherBean anotherBean) {

    super();

    this.anotherBean = anotherBean;

    }

    查看全部
  • SpringIOC注解基本使用(spring2.5后支持注解來管理javaBean)

    @Configuration:該注解標(biāo)識在類上,然后就可以通過AnnotationConfigApplicationContext(***.class)來獲取spring上下文環(huán)境(相當(dāng)于xml的功能)。

    @Bean:與xml配置文件<bean>標(biāo)簽一個(gè)用處,<bean>標(biāo)簽的id相當(dāng)于獲得@Bean(name="Id名"),如果不使用name,Id名為方法名稱。

    @Component:告知spring管理這個(gè)類,還可以通過該注解的value屬性指定Bean的Id。

    @Controller:被標(biāo)注在Controller層。

    @Service:被標(biāo)注在Service層。

    @Repository:被標(biāo)注在Dao層

    與Spring.xml相比不同點(diǎn):

    1、不用配置xml文件

    2、提供一個(gè)配置類,并采用注解,來獲取Bean

    3、獲取spring上下文的對象不同,注解使 用AnnotationConfigApplicationContext(***.class)獲取spring上下文。

    步驟1:提供一個(gè)配置類,并在類上添加@Configuration注解,并提供一個(gè)返回Bean對象的方法,并在該方法上添加注解。(如果@Bean沒指定name屬性,則Id為方法名)

    步驟2:提供一個(gè)要?jiǎng)?chuàng)建的Bean的類。

    如何進(jìn)行簡化:當(dāng)要獲取多個(gè)Bean時(shí),則要編寫多個(gè)@Bean注解和獲取Bean方法?

    步驟1:在配置類中添加@ComponentScan(value=“掃描的路徑”)注解。

    @ComponentScan()注解的作用:掃描帶有注解@Component的Class,Spring將管理這些Class。

    步驟2:Bean的類上加注解@Component,它的Bean的Id是類名的首字母小寫的全稱,如果不想使用這種方式,則使用@Component(value=“Id名”)。

    spring.xml中開啟包掃描:<context:component-scan base-package="掃描的包路徑"/>

    如何給Bean取別名(一個(gè)Bean對應(yīng)多個(gè)Id名)?

    因?yàn)锽ean()注解里的name屬性是String類型的數(shù)組,所以可以通過它來指定Bean的多個(gè)Id。注意:@Component里的value是字符串類型,只能有一個(gè)BeanId。

    spring.xml給Bean取別名?

    <bean id="bean1" name="bean2,bean3" class="..."/>

    <alias name="bean1" ?alias="bean4"/>

    查看全部
  • Bean屬性繼承應(yīng)用場景

    場景一:ParentClass(屬性1,屬性2,屬性3,get和set方法)

    子類1(屬性4,屬性5)?

    子類2(屬性6,屬性7)

    場景2:子類1和子類2沒有父類,而是有一些相同的屬性。

    類1:(屬性1,屬性2,屬性3,屬性4,屬性5)

    類2:(屬性1,屬性2,屬性3,屬性6,屬性7)

    abstract="true":設(shè)置<bean>標(biāo)簽只是定義性的,不會(huì)對它進(jìn)行實(shí)例化操作。

    parent屬性:在Bean的子類bean標(biāo)簽添加,值為父類的Id。

    查看全部
    0 采集 收起 來源:Bean屬性繼承

    2022-06-05

  • Bean初始化及銷毀邏輯處理(在singleton作用域上進(jìn)行講解)

    Bean初始化——如果需要在Bean實(shí)例化時(shí)執(zhí)行一些邏輯,Spring提供了兩種方法:(有一個(gè)javaBean,該Bean作用,連接數(shù)據(jù)庫,例如session,斷開數(shù)據(jù)庫連接,該Bean被創(chuàng)建之后,執(zhí)行數(shù)據(jù)庫連接的過程)

    方法1:bean標(biāo)簽里的init-method屬性,該值為Bean的某一方法,Spring實(shí)例化時(shí),會(huì)調(diào)用Bean的該方法。

    方法2:讓Bean實(shí)現(xiàn)InitializingBean接口,Spring在實(shí)例化該Bean時(shí),檢測到Bean實(shí)現(xiàn)了該接口,就會(huì)調(diào)用該接口所定義的相應(yīng)方法。

    Bean銷毀——如果需要在Bean銷毀之前執(zhí)行一些邏輯,有兩種方法。

    方法1:bean標(biāo)簽里的destory-method屬性,該值為Bean的某一方法,Spring銷毀該Bean時(shí),會(huì)調(diào)用Bean的該方法。

    方法2:讓Bean實(shí)現(xiàn)DisposableBean接口,Spring在銷毀該Bean時(shí),檢測到Bean實(shí)現(xiàn)了該接口,就會(huì)調(diào)用該接口所定義的相應(yīng)方法。

    查看全部
  • Bean懶加載概念

    Spring容器會(huì)在創(chuàng)建容器時(shí)提前初始化Singleton作用域的bean,但是如果Bean被標(biāo)注了lazy-init=“true”,則該Bean只有在其被需要的時(shí)候才會(huì)被初始化。(只對singleton作用域的bean有效)

    代碼:<bean id="bean" class="main.java.com.Bean懶加載.Bean" scope="singleton" lazy-init="true"></bean>

    解決多個(gè)bean使用懶加載問題

    <beans標(biāo)簽里添加default-lazy-init=“true”>:表示spring配置文件里所有bean都是懶加載模式。

    使用場景

    如果某個(gè)Bean在程序整個(gè)運(yùn)行周期都可能不會(huì)被使用,那么可考慮設(shè)定該Bean為懶加載。

    優(yōu)點(diǎn):盡可能的節(jié)省了資源。

    缺點(diǎn):可能會(huì)導(dǎo)致某個(gè)操作相應(yīng)操作時(shí)間增加。

    查看全部
    0 采集 收起 來源:Bean的懶加載

    2022-06-05

  • spring通過xml實(shí)現(xiàn)自定義作用域(自定義雙例模式作用域)

    SimpleThreadScope:Spring內(nèi)置作用域。

    編寫自定義作用域:

    步驟1:實(shí)現(xiàn)Scope接口(org.springframework.beans.factory.config),主要關(guān)注實(shí)現(xiàn)的get方法和remove方法。

    get方法:按照name參數(shù),按照我們自己定義的規(guī)則,去返回一個(gè)Bean,如果我們定義的規(guī)則里,Bean不存在,那么將通過objectFactory去創(chuàng)建一個(gè)Bean。

    雙例模式:一個(gè)bean的Id對應(yīng)兩個(gè)實(shí)例,實(shí)現(xiàn)雙例模式,需要兩個(gè)Map集合,Map<String,Object> map1=new HashMap<String,Object>();Map<String,Object> map2=new HashMap<String,Object>();。

    查看全部
    0 采集 收起 來源: 自定義作用域

    2022-06-05

  • springweb上下文環(huán)境

    request作用域:每次執(zhí)行request請求調(diào)用到bean時(shí)會(huì)重新實(shí)例化bean對象

    session作用域:請求session重置后會(huì)重新實(shí)例化

    application作用域:應(yīng)用重啟后會(huì)重新實(shí)例化

    查看全部
  • 通過Spring的xml文件配置Bean作用域:(Spring默認(rèn)作用域是Singleton)

    1、Singleton作用域(單例模式:通過Spring容器實(shí)現(xiàn)單例模式,具有局限性:保證在一個(gè)Spring上下文(ApplicationContext)是單例模式,多個(gè)AppliactionContext單例模式就失效了。

    定義:如果一個(gè)<bean>的作用域?yàn)镾ingleton,則該<bean>只會(huì)被實(shí)例化一次,只有一個(gè)Bean會(huì)被創(chuàng)建。(每次向Spring上下文(ApplicationContext生命周期存活)請求這個(gè)實(shí)例時(shí),Spring都會(huì)返回同一個(gè)實(shí)例)。

    2、prototype作用域(多例模式)

    定義:如果一個(gè)<bean>的作用域?yàn)閜rototype,則該<bean>會(huì)被實(shí)例化多次,有多個(gè)Bean會(huì)被創(chuàng)建(每次向Spring上下文請求該Bean都會(huì)new一個(gè)新的實(shí)例)。

    查看全部
  • 第一種:通過構(gòu)造方法注入Bean

    #<bean>標(biāo)簽管理class對象。

    #bean的構(gòu)造方法參數(shù)標(biāo)簽 constructor-arg。

    #index 表示構(gòu)造方法的第幾個(gè)參數(shù)。

    #name 表示構(gòu)造方法的參數(shù)名。

    #type 表示對應(yīng)的參數(shù)類型。

    #value 表示為參數(shù)提供賦值,一般用于String等簡單常用對象。

    #ref 表示為參數(shù)提供賦值,一般是復(fù)雜點(diǎn)的依賴其它 class的對象(取bean的id)。

    注意:只要通過index、name、type的組合明確表示出構(gòu)造函數(shù)的那一個(gè)參數(shù)即可,

    不一定全用,只用index也可以。

    <bean class="com.imooc.spring.ioc.class06.Bean">

    <constructor-arg ?index="0" name="anotherBean"

    type="com.imooc.spring.ioc.class06.AnotherBean">

    </constructor-arg>?

    </bean>

    通過構(gòu)造方法注入Bean,輸出結(jié)果:

    成功的給屬性賦值。?

    查看全部
  • 1、通過構(gòu)造方法實(shí)例化Bean。

    步驟1:創(chuàng)建要實(shí)例化的類,并提供無參構(gòu)造方法。

    public class Bean {

    public Bean(){

    System.out.println("Bean被創(chuàng)建了");

    }

    步驟2:spring.xml中配置

    <bean id="bean的唯一標(biāo)識" class="要實(shí)例化bean的路徑"></bean>

    測試:ApplicationContext context=new ClassPathXmlApplicationContext(spring.xml的路徑);

    Bean bean=context.getBean("bean",Bean.class);

    System.out.println(bean);


    2、通過靜態(tài)方法實(shí)例化Bean。(通過Bean2的工廠的靜態(tài)方法實(shí)例化Bean)

    步驟1:創(chuàng)建Bean2的工廠Bean2Factory類以及Bean2類,并且提供一個(gè)靜態(tài)、返回值類型為Bean2的方法,返回new Bean2()。

    public class Bean2Factory {

    public static Bean2 getBean2(){

    return new Bean2();

    }

    }

    public class Bean2 {

    public Bean2(){

    System.out.println("Bean2被創(chuàng)建了。");

    }

    步驟2:配置Spring.xml

    <bean class="Bean2工廠的路徑" factory-method="Bean2工廠的靜態(tài)方法名" id="Bean2工廠的唯一標(biāo)識"></bean>

    測試:

    ApplicationContext context=new ClassPathXmlApplicationContext("spring-ioc2.xml");

    Bean2 bean=context.getBean("bean2factoryId",Bean2.class);

    System.out.println(bean);

    3、通過實(shí)例方法實(shí)例化Bean。(通過Bean2的工廠的實(shí)例方法實(shí)例化Bean)

    步驟1:創(chuàng)建Bean3的工廠Bean3Factory類以及Bean3類,并且提供一個(gè)返回值類型為Bean3的方法,方法返回new Bean3()。

    public class Bean3Factory {

    public ?Bean3 getBean3(){

    return new Bean3();

    }

    }

    public class Bean3 {

    public Bean3(){

    System.out.println("Bean3被創(chuàng)建了。");

    }

    }

    步驟2:配置Spring.xml

    <bean class="main.java.com.imooc2.Bean3Factory" id="bean3Factory"></bean>

    <bean class="main.java.com.imooc2.Bean3" factory-bean="bean3Factory" factory-method="getBean3" id="bean3"></bean>

    給bean取別名:有類Bean1,并且通過bean標(biāo)簽實(shí)例化Bean1,給Bean1的實(shí)例取多個(gè)名字。

    例如:方式一:bean標(biāo)簽里添加name屬性

    <bean id="bean" class="main.java.com.imooc1.Bean" name="bean1_1,bean1_2"></bean>

    ? ? ? ? ? ?方式二:添加<alias>標(biāo)簽

    <bean id="bean" class="main.java.com.imooc2.Bean1" name="bean1_1,bean1_2"></bean>

    <alias name="bean" alias="bean1_3"/><!-- alias只支持一個(gè)別名 -->

    查看全部
  • org.springframework.beans.factory.config

    查看全部
    0 采集 收起 來源: 自定義作用域

    2022-05-10

舉報(bào)

0/150
提交
取消
課程須知
需要具備Java語法基礎(chǔ),了解Java Web基礎(chǔ)知識。
老師告訴你能學(xué)到什么?
1、什么是IoC 2、Spring Bean的管理 3、什么是懶加載

微信掃碼,參與3人拼團(tuán)

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!