spring依賴注入原理與用法例項分析

2022-10-03 23:03:22 字數 1842 閱讀 2191

一 點睛

控制反轉和依賴注入在spring環境下是等同的概念,控制反轉是通過依賴注入實現的。所謂依賴注入指的是容器負責建立物件和維護物件間的依賴關係,而不是通過物件本身負責自己的建立和解決自己的依賴。

依賴注入的主要目的是為了解耦,體現一種組合的概念。如果你希望你的類具備某項功能的時候,是繼承自乙個具有次功能的父類好呢?還是組合另外乙個具有此功能的類好呢?答案是不言而喻的,繼承乙個父類,子類和父類耦合了,組合另外乙個類則使耦合度大大降低了。

spring ioc 容器(applicationcontext)負責建立bean,並通過容器將功能bean注入到你需要的bean中。

spring提供使用xml、註解、j**a配置、groovy配置實現bean的建立和注入。

無論是xml配置、註解還是j**a配置,都被稱為配置元資料,所謂元資料即描述資料的資料。元資料本身不具備任何可執行的能力,只有通過外界**來對這些元資料進行解析後進行一些有意義的操作。spring容器解析這些元資料進行bean初始化,配置和管理依賴。

二 宣告bean的注程式設計客棧解

三 注入bean的註解

四 實戰

1 編寫功能類的bean

package com.wisely.highlight_spring4.ch1.di;

import org.springframework.stereotype.service;

//使用@service註解宣告當前functionservice類是spring管理的乙個bean。

//使用@component、@service、@respository、@controller是等效的,可

//根據需要選擇

@servic程式設計客棧e

public class functionservice

}2 使用功能類bean

package com.wisely.highlight_spring4.ch1.di;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.stereotype.service;

@service //使用@service註解宣告當前usefunctionservice類是spring管理的乙個bean

public class usefunctionservice

}3 配置類

package com.wisely.highlight_spring4.ch1.di;

import org.springframework.context.annotation.componentscan;

import org.springframework.context.annotation.configuration;

@configuration //@configuration宣告當前類是乙個配置類。

//使用@componentscan,自動掃瞄包下所有@component、@service、@respository、@controller

//的類,並註冊為bean

@componentscan("com.wisely.highlight_spring4.ch1.di")

public class diconfig

4 執行類

package com.wisely.highlight_spring4.ch1.di;

import org.springframework.context.annotation.annotationconfigapplicationcontext;

public class main

}五 測試

hello world !

spring 依賴注入 Spring依賴注入

依賴注入 dependency injection,簡稱di 與控制反轉 ioc 的含義相同控制反 在使用spring框架之後,物件的例項不再由呼叫者來建立,而是由spring容器來建立,spring容器會負責控制程式之間的關係,而不是由呼叫者的程式 直接控制,這樣控制權由應用程式轉移到了sprin...

Spring 與依賴注入

依賴注入是反轉控制的一種。什麼是反轉控制?我們平常寫程式,需要什麼物件,就在 裡顯式地new乙個出來然後使用,這是我們自己去控制物件的生成。而反轉控制是讓spring 或者類似的其他工具 幫忙去生成我們需要的物件,也就是說物件的生成的控制權交給spring了。當然,spring需要依據一定的規則去生...

PHP依賴注入原理與用法分析

依然是來自到喜啦的一道面試題,你知道什麼是依賴注入嗎?依賴注入 di 的概念雖然聽起來很深奧,但是如果你用過一些新興的php框架的話,對於di一定不陌生,因為它們多多少少都用到了依賴注入來處理類與類之間的依賴關係。其實要理解di,首先要明白在php中如何傳遞依賴關係。第一種方案,也是最不可取的方案,...