Spring的自動裝配Bean的四種方式
Spring提供了四種自動裝配的方式(Version 5.0.6.RELEASE),分別是:
- no:(預設)無自動裝配。 Bean引用必須通過ref元素定義。
- byName:自動按屬性名稱進行呼叫。Spring尋找一個與需要自動呼叫的屬性具有相同名稱的bean。
byType:匹配屬性型別進行裝配。如果屬性型別中的一個bean存在於容器中,則允許屬性自動進行。如果資料型別是相容的也會自動裝配。
constructor:根據構造方法的資料型別,進行byType模式的自動裝配。
使用自動裝配,需要在<bean>
定義autowire
屬性.
下面分別展示各種自動裝配的實現:
Student.java:
package com.du.test2;
/**
* Created with IDEA
*
* @author duzhentong
* @Date 2018/6/4
* @Time 11:32
*/
public class Student {
public void say() {
System.out.println("Student say!");
}
}
User.java:
package com.du.test2;
/**
* Created with IDEA
*
* @author duzhentong
* @Date 2018/6/4
* @Time 10:54
*/
public class User {
private Student student;
public User(Student student) {
this.student = student;
}
public User() {
}
public void setStudent(Student student) {
this.student = student;
}
public void say () {
student.say();
}
}
Spring配置檔案spring2.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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
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.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="student" class="com.du.test2.Student"/>
<!--根據屬性名字實現自動裝配 byName-->
<bean id="user1" class="com.du.test2.User" autowire="byName"/>
<!--根據屬性型別實現自動裝配 byType-->
<bean id="user2" class="com.du.test2.User" autowire="byType"/>
<!--根據構造方法現自動裝配-->
<bean id="user3" class="com.du.test2.User" autowire="constructor"/>
<bean id="user4" class="com.du.test2.User" autowire="no">
<constructor-arg>
<ref bean="student"/>
</constructor-arg>
</bean>
</beans>
測試類Application.java:
package com.du.test2;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Created with IDEA
*
* bean的自動裝配
*
* @author duzhentong
* @Date 2018/6/4
* @Time 10:58
*/
public class Application {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring2.xml");
User user1 = (User)ac.getBean("user1");
User user2 = (User)ac.getBean("user2");
User user3 = (User)ac.getBean("user3");
User user4 = (User)ac.getBean("user4");
user1.say();
user2.say();
user3.say();
user4.say();
}
}
輸出:
Student say!
Student say!
Student say!
Student say!
相關推薦
自動裝配的幾種方式——Spring IOC/DI(四)
本章主要講解自動裝配的幾種方式,接上一章依賴注入的方式以及裝配屬性: https://blog.csdn.net/qq_34598667/article/details/83308071 自動裝配之自動裝配的幾種方式 Spring 容器可以在不使用< construc
Spring自動裝配Bean——xml方式與註解方式
自動裝配的概念 在Spring使用中,我們在xml配置檔案通過元素或元素的ref屬性向bean注入另外的依賴bean。 如果使用自動裝配(autowiring) ,就可以減少甚至消除配置元素和元素。 設定元素的autowire屬性就可以設定bean的自動裝配模式。自動裝配有5種模式。
Spring中自動裝配的三種方式
Sprring中Bean的自動裝配有3種方法:一、byName 二、byType 三、Constructor 第一步:配置我們的spring-autowriting.xml,我們先使用第一種方法ByName 第二步:建立3個類,一個測試類TestAutoWriting,一
Struts自動裝配和四種放入Session作用域的方式
內容 實現 nbsp alt 相同 style etc 進行 request對象 ---恢復內容開始--- Struts三種自動裝配的方式 第一種在Action類中定義和表單name相同的成員變量。 首先你定義一個Action類 頁面:
Spring自動裝配Bean詳解
att spa bject 快速 個數 就會 否則 strong pro 1. Auto-Wiring ‘no’ 2. Auto-Wiring ‘byName’ 3. Auto-Wiring ‘byType 4. Auto-Wirin
spring 自動裝配bean
no – 預設情況下,自動配置是通過“ref”屬性手動設定 <bean id="customer" class="com.yiibai.common.Customer" autowire=""> <property name="person" ref="person" />
jdbc Template 介紹和 spring 連結資料來源的四種方式
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc
spring 4 配置 datasource 四種方式
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 說明:DriverManagerDataSource建立連線是隻要有連線就新建一個connection,根本沒有連線池的作用。 <bean id="dataSource"
Spring配置資料來源的四種方式(小結)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc
Spring依賴注入的四種方式(重點是註解方式)
在Spring容器中為一個bean配置依賴注入有三種方式: · 使用屬性的setter方法注入 這是最常用的方式; · 使用構造器注入; · 使用Filed注入(用於註解方式). 使用屬性的setter方法注入 首先要配置被注入的bean,在該bea
spring配置資料來源的四種方式
一、spring預設的 DriverManagerDataSource <bean id="dataSource" class="org.springframework.jdbc.d
Spring系列教程七: Spring 整合mybatis的四種方式
一、使用採用資料對映器(MapperFactoryBean)的方式註解實現整合mybatis 不用寫mybatis對映檔案,採
Spring的自動裝配Bean的四種方式
Spring提供了四種自動裝配的方式(Version 5.0.6.RELEASE),分別是: no:(預設)無自動裝配。 Bean引用必須通過ref元素定義。 byName:自動按屬性名稱進行呼叫。
Spring框架裝配Bean的三種方式
歡迎檢視Java開發之上帝之眼系列教程,如果您正在為Java後端龐大的體系所困擾,如果您正在為各種繁出不窮的技術和各種框架所迷茫,那麼本系列文章將帶您窺探Java龐大的體系。本系列教程希望您能站在上帝的角度去觀察(瞭解)Java體系。使Java的各種後端技術在你心中模組化;讓你在工作中能將Java各個技術瞭然
Java上帝之眼系列Spring框架裝配Bean的三種方式
歡迎檢視Java開發之上帝之眼系列教程,如果您正在為Java後端龐大的體系所困擾,如果您正在為各種繁出不窮的技術和各種框架所迷茫,那麼本系列文章將帶您窺探Java龐大的體系。本系列教程希望您能站在上帝的角度去觀察(瞭解)Java體系。使Java的各種後端技術在
Spring 獲取bean 幾種方式
讀取 獲取 static ava ade beans java ride .html 轉載自: http://www.cnblogs.com/luoluoshidafu/p/5659574.html 1.讀取xml文件的方式,這種在初學入門的時候比較適用 。 A
3.spring:自動裝配/Bean之間的關係/作用域/外部檔案/spel/
1.自動裝配/手動裝配 xml配置檔案裡的bean自動裝配 Spring IOC 容器裡可以自動的裝配Bean,需要做的僅僅是在<bean>的autowire屬性裡面指定自動裝配模式 ->byType(根據型別自動進行裝配):若IOC容器裡需要有多個與目標Bean型別一樣的Bean,在這種
3.spring:自動裝配/Bean之間的關系/作用域/外部文件/spel/
depends ... 完全 構造器 外部文件 conn wire odi host 1.自動裝配/手動裝配 xml配置文件裏的bean自動裝配 Spring IOC 容器裏可以自動的裝配Bean,需要做的僅僅是在<bean>的autowire屬性裏面指定自動裝
Spring學習(穀粒學院spring4課程)第五節 基於 @Autowired 自動裝配 Bean
1: @Autowired 的應用範圍 @Autowired 可以應用到構造器,欄位,含參函式上。 2:如何裝配 2.1 @Autowired 自動裝配具有相容型別的單個 Bean屬性,若該屬性非必須,可以設定required 屬性為 false 2.2若有多個be
在Spring中自動裝配Bean的屬性
Spring的最基本的能力就是DI,即依賴注入,或控制反轉,它可以為Bean注入其依賴的其他Bean。 一個Bean依賴其他Bean一般是通過在Bean中定義其他Bean的成員變數的方式來實現的,那麼,Spring的DI也就表現為給Bean的屬性自動注入值。 這一般分為以下其中情況。 1