基于Xml方式Bean的配置-命名空间种类

Spring的标签

  • Spring的xml标签大体上分为两类,一种是默认标签,一种是自定义标签
    • 默认标签:就是不用额外导入其它命名空间约束的标签,例如<bean>标签
      • 标签作用

        <beans>

        一般作为xml配置根标签,其他标签都是该标签的子标签
        <bean>Bean的配置标签
        <import>外部资源导入标签
        <alias>指定bean的别名标签
    • 自定义标签:就是需要额外引入其它命名空间约束,并通过前缀引用的标签,例如
      <context:property-placeholder/>
  • 默认标签

    • <beans>标签的使用

    • <beans>标签,除了经常作为跟标签以外,还可以嵌套在跟标签以内,使用profile属性切换开发环境
      •     <!--    todo 配置测试环境下,需要加载的bean实例-->
            <beans profile="test">
                <!--todo 配置开发环境下,需要加载的bean实例-->
                <beans profile="dev">
      • 可以使用以下两种方式指定被激活的环境

        • 使用命令行动态参数,虚拟机动态参数加载-Dspring.profile.active=test

        • 使用代码的方式设置环境变量,System.setProperty(“spring.profiles.active”,“test”)

          • 具体代码

          • 注意指定环境的代码需要在创建工厂之间指定

          •         // 指定环境
                    System.setProperty("spring.profiles.active", "dev");
                    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
                    UserServiceImpl userServiceImpl = (UserServiceImpl) context.getBean("userService1");
                    System.out.println(userServiceImpl);
          • 配置文件如下:

            •     <beans profile="dev">
                      <bean id="userService1" class="com.example.Service.Impl.UserServiceImpl"></bean>
                  </beans>
          • 运行结果如下:

    • <import>标签的使用

    • <import>标签,用于导入其它配置标签文件,项目变大后,就会导致一个配置文件内容过多,可以将一个配置文件根据业务模块进行划分,划分后,最终通过<import>标签导入到一个主配置文件中,项目加载主配置文件就连同导入的文件一并加载(当然也可以通过代码进行导入不同配置文件,但是太过于繁琐,使用该标签时,我们只用在创建容器时,只需要加载一个著配置文件即可
      • <!--    todo  导入另一个配置文件-->
            <import resource="beans.xml"/>
      • 导入之后,就可以调用导入配置文件中配置设置的<bean>对象了

    • <alias>标签的使用

    • <alias>标签是为某个Bean添加别名,与在<bean>标签上使用name属性添加别名的方式一样
      •     <bean id="userDAO" class="com.example.DAO.Impl.UserDAOImpl">
            </bean>
            <alias name="userDAO" alias="xxx"/>
            <alias name="userDAO" alias="yyy"/>
      • 测试类代码

        •         System.setProperty("spring.profiles.active", "dev");
                  ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
                  UserDAO userDAO = (UserDAO) context.getBean("xxx");
                  System.out.println(userDAO);
    • <bean>标签的使用

      • 太常见了,不做赘述
  • 其自定义标签

    • Spring的自定义标签需要引入外部的命名空间,并为外部的命名空间指定前缀,使用<前缀:标签>的形式的标签,称之为自定义标签,自定义标签的解析流程也是Spring xml拓展点方式之一,在《Spring 整合其它框架》章节进行详细介绍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值