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

為了賬號安全,請及時綁定郵箱和手機立即綁定

Spring框架小白的蛻變

西昆侖 JAVA開發(fā)工程師
難度初級
時長 3小時50分
學習人數(shù)
綜合評分9.77
78人評價 查看評價
9.7 內容實用
9.8 簡潔易懂
9.8 邏輯清晰
  • bean1單例,Bean2多例的時候

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

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

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

    查看全部
  • 1、構造方式注入

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

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

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


    2、集合類型注入

    ????類中get/set方法

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

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

    1、構造方法實例化Bean

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

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

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

    3、實例化方法實例化Bean

    ????BeanFactory類,類中有方法,作用實例化Bean

    ????xml中配置BeanFactory,

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

    4、Bean的別名

    查看全部
  • IoC容器約定

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

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

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

    一、通過方法注入Bean

    1:通過有參構造方法注入

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

    代碼:

    @Configuration

    @ComponentScan(value="springzhuru")

    public class MyConfiguration {

    }

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

    @Component

    public class MyBean {

    private AnotherBean anotherBean;

    @Autowired

    public MyBean(AnotherBean anotherBean) {

    super();

    this.anotherBean = anotherBean;

    }

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

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

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

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

    @Controller:被標注在Controller層。

    @Service:被標注在Service層。

    @Repository:被標注在Dao層

    與Spring.xml相比不同點:

    1、不用配置xml文件

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

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

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

    步驟2:提供一個要創(chuàng)建的Bean的類。

    如何進行簡化:當要獲取多個Bean時,則要編寫多個@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取別名(一個Bean對應多個Id名)?

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

    spring.xml給Bean取別名?

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

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

    查看全部
  • Bean屬性繼承應用場景

    場景一: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":設置<bean>標簽只是定義性的,不會對它進行實例化操作。

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

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

    2022-06-05

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

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

    方法1:bean標簽里的init-method屬性,該值為Bean的某一方法,Spring實例化時,會調用Bean的該方法。

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

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

    方法1:bean標簽里的destory-method屬性,該值為Bean的某一方法,Spring銷毀該Bean時,會調用Bean的該方法。

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

    查看全部
  • Bean懶加載概念

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

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

    解決多個bean使用懶加載問題

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

    使用場景

    如果某個Bean在程序整個運行周期都可能不會被使用,那么可考慮設定該Bean為懶加載。

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

    缺點:可能會導致某個操作相應操作時間增加。

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

    2022-06-05

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

    SimpleThreadScope:Spring內置作用域。

    編寫自定義作用域:

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

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

    雙例模式:一個bean的Id對應兩個實例,實現(xiàn)雙例模式,需要兩個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請求調用到bean時會重新實例化bean對象

    session作用域:請求session重置后會重新實例化

    application作用域:應用重啟后會重新實例化

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

    2022-06-05

  • 通過Spring的xml文件配置Bean作用域:(Spring默認作用域是Singleton)

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

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

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

    定義:如果一個<bean>的作用域為prototype,則該<bean>會被實例化多次,有多個Bean會被創(chuàng)建(每次向Spring上下文請求該Bean都會new一個新的實例)。

    查看全部
  • 第一種:通過構造方法注入Bean

    #<bean>標簽管理class對象。

    #bean的構造方法參數(shù)標簽 constructor-arg。

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

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

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

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

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

    注意:只要通過index、name、type的組合明確表示出構造函數(shù)的那一個參數(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>

    通過構造方法注入Bean,輸出結果:

    成功的給屬性賦值。?

    查看全部
  • 1、通過構造方法實例化Bean。

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

    public class Bean {

    public Bean(){

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

    }

    步驟2:spring.xml中配置

    <bean id="bean的唯一標識" class="要實例化bean的路徑"></bean>

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

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

    System.out.println(bean);


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

    步驟1:創(chuàng)建Bean2的工廠Bean2Factory類以及Bean2類,并且提供一個靜態(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工廠的唯一標識"></bean>

    測試:

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

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

    System.out.println(bean);

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

    步驟1:創(chuàng)建Bean3的工廠Bean3Factory類以及Bean3類,并且提供一個返回值類型為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標簽實例化Bean1,給Bean1的實例取多個名字。

    例如:方式一:bean標簽里添加name屬性

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

    ? ? ? ? ? ?方式二:添加<alias>標簽

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

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

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

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

    2022-05-10

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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

友情提示:

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