SpringIOC框架的簡單實現步驟
簡單介紹
依賴注入( Dependency Injection ,簡稱 DI) 與控制反轉 (IoC) 的含義相同,只不過這兩個稱呼是從兩個角度描述的同一個概念,具體如下:
- 依賴:bean對象的創(chuàng)建依賴于容器。
- 注入:bean對象中的所有屬性,由容器來注入。
- 控制反轉(IoC:依賴注入的另一種說法是“控制反轉”,通俗的理解是:平常我們new一個實例,這個實例的控制權是我們程序員,而控制反轉是指new實例工作不由我們程序員來做而是交給spring容器來做
依賴注入可以有效的解耦合。
具體實現
有兩種實現的方法,一種是配置xml文件來實現,另一種是通過參數實現,來,找個簡單的例子讓咱們上手試一試。(Intellij IDEA 2020)
首先,咱們先配置一下相關的jar包(pom.xml)
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.5</version>
</dependency>
創(chuàng)建一個Pet接口,存放方法say()
public interface Pet {
void say();
}
創(chuàng)建一個Person類
public class Person {
private String name;
private Pet pet;
public void setName(String name) {
this.name = name;
}
public void setPet(Pet pet) {
this.pet = pet;
}
public void keepPet() {
System.out.println(name + " 比" + pet + " 可愛,因為它會說");
pet.say();
}
}
創(chuàng)建一個Dog類,繼承Pet接口
public class Dog implements Pet{
private String name;
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
public void say(){
System.out.println("WangWang");
}
}
重點來了,配置applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dog" class="Ex_04.Dog">
<property name="name" value="哈士奇"></property>
</bean>
<bean id="person" class="Ex_04.Person">
<property name="name" value="拉布拉多"></property>
<property name="pet" ref="dog"></property>
</bean>
</beans>
- bean中class為你所創(chuàng)建的包的地址,即Dao層,Service層的地址,為了方便我將其放在一起。
- 為給dog類中name屬性賦值哈士奇。
- 元素value屬性為一個具體的值,ref為引用,該代碼中“ ref="dog" ”對應的是dog類的屬性name,相當于new,此處可以體現解耦合。
基本類已創(chuàng)建完畢,讓我們來創(chuàng)建一個實現類
輸出結果為:拉布拉多 比哈士奇 可愛,因為它會說WangWang
總結
以上就就是以xml文件實現SpringIOC框架,如有錯誤,麻煩指出,感謝耐心到現在的朋友
到此這篇關于SpringIOC框架簡單實現步驟的文章就介紹到這了,更多相關SpringIOC框架簡單實現內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解讀線程池-Executors的newSingleThreadExecutor和newFixedThreadPool(1
這篇文章主要介紹了解讀線程池-Executors的newSingleThreadExecutor和newFixedThreadPool(1)區(qū)別,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
String類型傳遞是值傳遞,char[]類型傳遞是引用傳遞的實現
下面小編就為大家?guī)硪黄猄tring類型傳遞是值傳遞,char[]類型傳遞是引用傳遞的實現。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看不2016-09-09
使用mybatisPlus的queryWrapper做左聯(lián)接,內聯(lián)接方式
本文介紹了如何使用Mybatis-Plus的QueryWrapper進行SQL查詢,包括左連接、內連接等操作,通過示例代碼展示了如何構建復雜的SQL查詢,并將結果存儲在List對象中返回,希望給讀者提供參考2025-03-03
SpringBoot在容器中創(chuàng)建實例@Component和@bean有什么區(qū)別
這篇文章主要介紹了SpringBoot在容器中創(chuàng)建實例@Component和@bean有什么區(qū)別,在Spring Boot中,@Component注解和@Bean注解都可以用于創(chuàng)建bean。它們的主要區(qū)別在于它們的作用范圍和創(chuàng)建方式2023-03-03

