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

聊聊spring繼承的問題

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

spring繼承的問題

為什么輸出是0呢?

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

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

通過配置文件

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

通過注解

只需要在子類上加注解,父類上不用加會(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)裝配有依賴關(guān)系的Bean
    protected BaseRepository baseRepository;--------//這里是子類繼承依賴關(guān)系
    public void add(){
        System.out.println("add..............");
        System.out.println(baseRepository);
    }
}

新建一個(gè)泛型類

User:

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

新建BaseRepository和BaseService的子類

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>

測試代碼和結(jié)果

測試代碼:

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

測試結(jié)果:

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

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

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

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

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

相關(guān)文章

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

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

    一個(gè)項(xiàng)目工程里的代碼是怎樣的呢?對于初學(xué)者或者沒有參與過項(xiàng)目的零經(jīng)驗(yàn)同學(xué)這都是未知且讓人好奇的,本篇文章帶你一探究竟,踏入真實(shí)項(xiàng)目的大門
    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)方式,方式一是通過實(shí)現(xiàn)Controller接口,方式二是使用注解開發(fā),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 如何將二進(jìn)制文件流轉(zhuǎn)化為MockMultipartFile文件

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

    文章主要介紹了如何使用Spring框架中的MockMultipartFile類來模擬文件上傳,并處理上傳邏輯,包括獲取二進(jìn)制文件流、創(chuàng)建MockMultipartFile對象、處理上傳邏輯和返回響應(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)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • java堆棧跟蹤工具jstack的使用教程

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

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

    Java中StringUtils與CollectionUtils和ObjectUtil概念講解

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

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

    這篇文章主要介紹了springboot如何將http轉(zhuǎn)https,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(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ù)訪問層(DAL)的三層架構(gòu),各層之間采用接口相互訪問,需要的朋友可以參考下
    2023-04-04

最新評論

政和县| 麻阳| 遵义县| 突泉县| 东丽区| 红原县| 龙州县| 克山县| 晴隆县| 河南省| 桃园县| 东源县| 噶尔县| 沁源县| 贵港市| 尼木县| 通榆县| 衡南县| 富宁县| 博湖县| 苏尼特左旗| 四平市| 孟津县| 泰来县| 曲沃县| 上栗县| 朝阳县| 大化| 台南县| 大同县| 博野县| 峨山| 张掖市| 渭南市| 修武县| 漳浦县| 娱乐| 南涧| 襄樊市| 墨江| 桂东县|