Spring IOC容器基于配置文件装配Bean(1) ------设置autowire自动装配

复制代码
<?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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="carBean" class="com.spring.cn.config.autowire.CarBean"
        p:brand="宝马" p:price="350000"/>

    <bean id="carBean2" class="com.spring.cn.config.autowire.CarBean"
          p:brand="宝马" p:price="350000"/>

    <bean id="addressBean" class="com.spring.cn.config.autowire.AddressBean"
        p:city="成都" p:street="天府大道"/>

    <!--手动装配-->
    <!--<config id="personBean" class="com.spring.cn.configig.autowire.PersonBean"-->
        <!--p:name="liangd" p:carBean-ref="carBean" p:addressBean-ref="addressBean"/>-->
    <!--
        1、使用autewire属性指定自动装配方式
        2、byName 通过当前bean的类名和当前bean的setter构造风格(id名)进行自动装配
            若有匹配的,则进行自动装配,若没有匹配的,则不装配(例如id名字与类名不一致)
        3、通过byType自动装配bean,不允许IOC容器中有两个相同类型的bean,否则抛异常
    -->
    <!--自动装配-->
    <bean id="personBean" class="com.spring.cn.config.autowire.PersonBean"
        p:name="liangd" autowire="byName"/>

    <!--<config id="personBean" class="com.spring.cn.configig.autowire.PersonBean"-->
        <!--p:name="liangd" autowire="byType"/>-->
    <!--
        自动装配的缺点:
        1、在bean的配置文件里面使用autowire属性将会自动装配bean的所有属性,然而对于只自动装配个别字段,显得不够灵活
        2、autowire属性要么根据类型装配,要么根据名字装配,二者不能同时使用
        3、一般情况下,实际的项目中很少使用自动装配功能。但在使用一些框架的时候用autowire更方便
    -->
</beans>
复制代码

 

posted @   donleo123  阅读(114)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示