applicationContext.xml文件常用内容的解释

1、bean

<bean id="banana" class="com.packet.pojo.Banana" name="user1,user2 user3;user4"/>
  • 这个bean就是一个类被Spring托管的

    • 记不住的话pojo中的javabean懂吧,它也是个类,你也这么记住,偷偷的认为是Spring创建了这个对象(javabean----->bean)

  • id表示bean的唯一标识符

    • 创建对象的时候都 Banana banana = new Banana(),就相当于new出对象的名字

  • class表示来源,来自于哪个包

  • name是取别名

    • 很随意,上述取了一次性三个别名,可以是逗号,空格**,分号**都行

  • 以上都是自闭合的

=========================================================================

    <bean id="apple" class="com.packet.pojo.Apple" />
    <bean id="banana" class="com.packet.pojo.Banana"/>
    <bean id="User" class="com.packet.pojo.User">
        <property name="name" value="皮夹子"/>
        <property name="sex" value="男"/>
        <property name="age" value="18"/>
        <property name="apple" ref="apple"/>
        <property name="banana" ref="banana"/>
    </bean>
public class User {
    private String name;
    private String sex;
    private int age;
    private Apple apple;
    private Banana banana;
}

  • property表示属性

  • name是对应类中的字段名

  • value是设置字段名的值【普通字段】

  • ref表示是对象,需要先将所属的对象先交给spring托管

=========================================================================

构造器注入

<bean id="User" class="com.packet.pojo.User">
    <constructor-arg index="0" value="皮夹子"/>
    <constructor-arg type="java.lang.String" value="男"/>
    <constructor-arg name="age" value="18"/>
</bean>

表示分别通过下标、类型、名字------>了解就行

2、alias

<alias name="banana" alias="adfhasdkfa"/>
  • 取别名 ,将banana取名为adfhasdkfa

3、import

一般用于团队开发,可以将多个配置文件,导入合并为一个

  • 例如:存在三个人开发

    • 张三 --->applicationContext1.xml

    • 李四 --->applicationContext2.xml

    • 王五 --->applicationContext3.xml

  • 使用的时候,直接使用总的配置

<import resource="applicationContext1.xml"/>
<import resource="applicationContext2.xml"/>
<import resource="applicationContext3.xml"/>

4、关于bean的其他注入方式

创建类User和类Banana

  • User类

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String name;
    private Apple apple;
    private String[] food;
    private List<String> books;
    private Map<String,String> cards;
    private Set<String> games;
    private Properties properties;
    private String IsMarried;
}
  • Apple类可以什么都不写哈

  • 给User类配置

<bean id="Apple" class="com.packet.pojo.Apple" />
<bean id="User" class="com.packet.pojo.User">
<!--        普通字段注入-->
        <property name="name" value="皮夹子"/>
<!--        bean注入-->
        <property name="apple" ref="Apple"/>
<!--        数组注入-->
        <property name="food">
            <array>
                <value>巧克力</value>
                <value>薯片</value>
                <value>牛奶</value>
                <value>蛋糕</value>
            </array>
        </property>
<!--        List注入-->
        <property name="books">
            <list>
                <value>斗破苍穹</value>
                <value>斗罗大陆</value>
                <value>遮天</value>
            </list>
        </property>
<!--        Map注入-->
        <property name="cards">
            <map>
                <entry key="学号" value="21206126"/>
                <entry key="姓名" value="皮夹子"/>
                <entry key="身份证" value="000111202306061111"/>
​
            </map>
        </property>
<!--        set注入-->
        <property name="games">
            <set>
                <value>王者荣耀</value>
                <value>刺激战场</value>
                <value>英雄联盟</value>
            </set>
        </property>
​
<!--        null注入-->
        <property name="isMarried">
            <null></null>
        </property>
<!--        properties注入-->
        <property name="properties">
            <props>
                <prop key="学号"></prop>
            </props>
        </property>
    </bean>
  • 编写测试类

public class MyTest {
    @Test
    public void test1(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) context.getBean("User");
        System.out.println(user);
    }
}
  • 运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值