Spring IOC容器-自動裝配
1 autowire="byName"
根據名稱自動裝配,自動去IOC容器中找與屬性名同名的引用的物件,並自動注入。
<!-- ###############自動裝配############### -->
<bean id="userDao" class="d_auto.UserDao"></bean>
<bean id="userService" class="d_auto.UserService" autowire="byName"></bean>
<!-- 根據“名稱”自動裝配: userAction注入的屬性,會去ioc容器中自動查詢與屬性同名的物件 -->
<bean id="userAction" class="d_auto.UserAction" autowire="byName"></bean>
也可以定義到全域性, 這樣就不用每個bean節點都去寫autowire="byName"
<?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:p="http://www.springframework.org/schema/p"
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.xsd" default-autowire="byName"> 根據名稱自動裝配(全域性)
<!-- ###############自動裝配############### -->
<bean id="userDao" class="d_auto.UserDao"></bean>
<bean id="userService" class="d_auto.UserService"></bean>
<bean id="userAction" class="d_auto.UserAction"></bean>
</beans>
2 autowire="byType"
根據型別自動裝配:autowire="byType"必須確保改型別在IOC容器中只有一個物件;否則報錯。
<?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:p="http://www.springframework.org/schema/p"
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.xsd" default-autowire="byType">
<!-- ###############自動裝配############### -->
<bean id="userDao" class="cn.itcast.d_auto.UserDao"></bean>
<bean id="userService" class="cn.itcast.d_auto.UserService"></bean>
<!-- 如果根據型別自動裝配: 必須確保IOC容器中只有一個該型別的物件 -->
<bean id="userAction" class="cn.itcast.d_auto.UserAction"></bean>
<!-- 報錯: 因為上面已經有一個該型別的物件,且使用了根據型別自動裝配
<bean id="userService_test" class="cn.itcast.d_auto.UserService" autowire="byType"></bean>
-->
</beans>
總結:
Spring提供的自動裝配主要是為了簡化配置;但是不利於後期的維護。(不推薦使用)
相關文章
- Spring IOC 一——Spring容器裝配BeanSpringBean
- Spring自動裝配BeansSpringBean
- Spring Boot 自動裝配原理Spring Boot
- 2、spring注入及自動裝配Spring
- Spring-04 Bean的自動裝配SpringBean
- Spring框架IOC容器Spring框架
- Spring的IOC容器Spring
- Spring--IOC容器Spring
- Spring入門(二):自動化裝配beanSpringBean
- 深入理解Spring框架的自動裝配原理Spring框架
- Spring 容器自動注入.Spring
- Spring IOC 容器預啟動流程原始碼探析Spring原始碼
- 如何向Spring IOC 容器 動態註冊beanSpringBean
- SpringBoot - 自動裝配Spring Boot
- 淺析 Spring 的IOC容器Spring
- 對Spring IOC容器的思考Spring
- 深入理解Spring IOC容器Spring
- Spring入門(八):自動裝配的歧義性Spring
- springboot之自動裝配Spring Boot
- bean 的自動裝配Bean
- 徹底搞明白Spring中的自動裝配和AutowiredSpring
- Spring框架使用@Autowired自動裝配引發的討論Spring框架
- 深度剖析Spring Boot自動裝配機制實現原理Spring Boot
- Spring IOC容器概念及分類Spring
- 手寫Spring---IOC容器(1)Spring
- Spring IOC容器實現機制Spring
- Spring IoC 容器的擴充套件Spring套件
- springboot自動裝配(1)---@SpringBootApplication註解怎麼自動裝配各種元件Spring BootAPP元件
- Spring原始碼分析:Spring IOC容器初始化Spring原始碼
- spring裝配Spring
- SpringBoot自動裝配原理分析Spring Boot
- SpringBoot系列--自動裝配原理Spring Boot
- Spring原始碼閱讀-IoC容器解析Spring原始碼
- spring原始碼解析之IOC容器(一)Spring原始碼
- Spring IOC容器核心流程原始碼分析Spring原始碼
- 2、Spring使用+ioc容器配置使用1Spring
- SpringBoot自動裝配-原始碼分析Spring Boot原始碼
- SpringBoot | 2.1 SpringBoot自動裝配原理Spring Boot
- SpringBoot自動裝配-自定義StartSpring Boot