最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

聊聊spring繼承的問(wèn)題

 更新時(shí)間:2021年09月22日 11:32:03   作者:Younger成  
這篇文章主要介紹了spring繼承的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

spring繼承的問(wèn)題

為什么輸出是0呢?

因?yàn)槭亲宇?lèi)繼承父類(lèi),實(shí)例對(duì)象調(diào)用的主要是左邊的父類(lèi)屬性和方法,所以輸出結(jié)果是以左邊對(duì)象為主

spring注入有繼承關(guān)系的類(lèi)

通過(guò)配置文件

<bean id="sysActionService" class="com.service.impy.SysActionServiceImpy" parent="baseService" >    
      <property name="sysActionDao" ref="sysActionDao" />    
  </bean>   

通過(guò)注解

只需要在子類(lèi)上加注解,父類(lèi)上不用加會(huì)自動(dòng)注入

package com.jeremy.spring.genericityDI;
public class BaseRepository{
}

BaseService:

package com.jeremy.spring.genericityDI;
import org.springframework.beans.factory.annotation.Autowired;
public class BaseService<T> {    
    @Autowired------//這里告訴IOC容器自動(dòng)裝配有依賴(lài)關(guān)系的Bean
    protected BaseRepository baseRepository;--------//這里是子類(lèi)繼承依賴(lài)關(guān)系
    public void add(){
        System.out.println("add..............");
        System.out.println(baseRepository);
    }
}

新建一個(gè)泛型類(lèi)

User:

package com.jeremy.spring.genericityDI;
public class User {
}

新建BaseRepository和BaseService的子類(lèi)

UserRepository:

package com.jeremy.spring.genericityDI;
import org.springframework.stereotype.Component;
@Component
public class UserRepository extends BaseRepository{    
}

UserService:

package com.jeremy.spring.genericityDI;
import org.springframework.stereotype.Service;
@Service
public class UserService extends BaseService{
}

在Spring的配置文件中配置自動(dòng)裝配帶有注解的Bean  

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="com.jeremy.spring.genericityDI"></context:component-scan>
</beans>

測(cè)試代碼和結(jié)果

測(cè)試代碼:

@Test
    public void test() {
        ApplicationContext actx=new ClassPathXmlApplicationContext("Bean-genericity-di.xml");
        UserService userService=(UserService) actx.getBean("userService");
        userService.add();
    }

測(cè)試結(jié)果:

add..............

com.jeremy.spring.genericityDI.UserRepository@16546ef

從結(jié)果看,雖然子類(lèi)沒(méi)有建立依賴(lài)關(guān)系,但userRepository實(shí)例還是被實(shí)例化了,就證明了父類(lèi)的依賴(lài)關(guān)系,子類(lèi)是可以繼承的

其實(shí)這里也可以說(shuō)明,就算父類(lèi)不是被IOC容器管理,但是建立關(guān)系時(shí)添加了@Autowired注解,父類(lèi)的關(guān)系會(huì)被繼承下來(lái)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java項(xiàng)目工程代碼深度刨析總結(jié)

    Java項(xiàng)目工程代碼深度刨析總結(jié)

    一個(gè)項(xiàng)目工程里的代碼是怎樣的呢?對(duì)于初學(xué)者或者沒(méi)有參與過(guò)項(xiàng)目的零經(jīng)驗(yàn)同學(xué)這都是未知且讓人好奇的,本篇文章帶你一探究竟,踏入真實(shí)項(xiàng)目的大門(mén)
    2022-08-08
  • Java Swing實(shí)現(xiàn)掃雷小游戲

    Java Swing實(shí)現(xiàn)掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了Java Swing實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 詳解SpringMVC的兩種實(shí)現(xiàn)方式

    詳解SpringMVC的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了SpringMVC的兩種實(shí)現(xiàn)方式,方式一是通過(guò)實(shí)現(xiàn)Controller接口,方式二是使用注解開(kāi)發(fā),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 如何將二進(jìn)制文件流轉(zhuǎn)化為MockMultipartFile文件

    如何將二進(jìn)制文件流轉(zhuǎn)化為MockMultipartFile文件

    文章主要介紹了如何使用Spring框架中的MockMultipartFile類(lèi)來(lái)模擬文件上傳,并處理上傳邏輯,包括獲取二進(jìn)制文件流、創(chuàng)建MockMultipartFile對(duì)象、處理上傳邏輯和返回響應(yīng),還解釋了MockMultipartFile的功能和二進(jìn)制文件流的定義
    2025-02-02
  • java實(shí)現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印

    java實(shí)現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印

    這篇文章主要給大家介紹了關(guān)于java實(shí)現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • java堆棧跟蹤工具jstack的使用教程

    java堆棧跟蹤工具jstack的使用教程

    jstack(stack?trace?for?java)是java虛擬機(jī)自帶的一種堆棧跟蹤工具,主要用于生成java虛擬機(jī)當(dāng)前時(shí)刻的線程快照,下面我們就來(lái)學(xué)習(xí)一下它的具體使用吧
    2023-11-11
  • Java中StringUtils與CollectionUtils和ObjectUtil概念講解

    Java中StringUtils與CollectionUtils和ObjectUtil概念講解

    這篇文章主要介紹了Java中StringUtils與CollectionUtils和ObjectUtil概念,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-12-12
  • springboot如何將http轉(zhuǎn)https

    springboot如何將http轉(zhuǎn)https

    這篇文章主要介紹了springboot如何將http轉(zhuǎn)https,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Java實(shí)現(xiàn)文件和base64流的相互轉(zhuǎn)換功能示例

    Java實(shí)現(xiàn)文件和base64流的相互轉(zhuǎn)換功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)文件和base64流的相互轉(zhuǎn)換功能,涉及Java文件讀取及base64 轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • 深入解讀MVC模式和三層架構(gòu)

    深入解讀MVC模式和三層架構(gòu)

    這篇文章主要介紹了深入解讀MVC模式和三層架構(gòu),三層架構(gòu)就是為了符合“高內(nèi)聚,低耦合”思想,把各個(gè)功能模塊劃分為表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問(wèn)層(DAL)的三層架構(gòu),各層之間采用接口相互訪問(wèn),需要的朋友可以參考下
    2023-04-04

最新評(píng)論

定远县| 裕民县| 佛山市| 昭平县| 多伦县| 丽江市| 翁源县| 清远市| 北宁市| 留坝县| 陇西县| 靖宇县| 烟台市| 崇明县| 奈曼旗| 来凤县| 肥乡县| 张家川| 绥滨县| 临漳县| 梨树县| 桑植县| 海淀区| 额敏县| 太保市| 肇庆市| 偏关县| 福州市| 莒南县| 津南区| 千阳县| 兴海县| 广南县| 汉川市| 从江县| 乌海市| 江津市| 大兴区| 瑞金市| 大冶市| 巫山县|