您好,登錄后才能下訂單哦!
這篇文章給大家介紹Spring 裝配是怎樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
single 單例模式(默認)
<!-- scope="singleton"--><bean id="user" class="com.gwssi.pojo.User" scope="singleton"> <property name="name" value="laughing" /> <property name="age" value="1"/></bean>
IOC容器僅創建一個Bean實例,IOC容器每次返回的是同一個Bean實例。
<bean id="user" class="com.gwssi.pojo.User" scope="prototype"> <property name="name" value="laughing" /> <property name="age" value="1"/></bean>
IOC容器可以創建多個Bean實例,每次返回的都是一個新的實例。
該屬性僅對HTTP請求產生作用,使用該屬性定義Bean時,每次HTTP請求都會創建一個新的Bean,適用于WebApplicationContext環境。
該屬性僅用于HTTP Session,同一個Session共享一個Bean實例。不同Session使用不同的實例。
該屬性僅用于HTTP Session,同session作用域不同的是,所有的Session共享一個Bean實例。
byName自動注入:
byType自動注入:
按照類型裝配。
spring2.5之后支持注解裝配,,需要導入約束
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</beans>
它可以對類成員變量、方法及構造函數進行標注,完成自動裝配的工作。(也可用在set方法上)
需要符合byname規范,且在beans中注冊。
Autowired有一個屬性required,默認為true。
public @interface Autowired { boolean required() default true;}
設置為false,表示可以為空
我們可以經常見到這種寫法,表示自動裝配到這個類:
@Autowired private MovieCatalog movieCatalog;
@Resource的作用和@Autowired相同,@Autowired按byType自動注入,@Resource默認按 byName自動注入罷了。@Resource有兩個屬性是比較重要的,分是name和type,Spring將@Resource注解的name屬性解析為bean的名字,而type屬性則解析為bean的類型。所以如果使用name屬性,則使用byName的自動注入策略,而使用type屬性時則使用byType自動注入策略。如果既不指定name也不指定type屬性,這時將通過反射機制使用byName自動注入策略。
@Resources按名字,是JDK的,@Autowired按類型,是Spring的。
關于Spring 裝配是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。