spring学习笔记——多文件的配置

spring学习笔记——多文件的配置

多配置优势
优点:1每个文件的大小比一个文件要小很多,效率高
2.避免多人竞争带来的冲突
例如:如果你的项目有多个模块(相关的功能在一起),一个模块一个配置文件
如学生考勤系统:
学生考勤一个模块一个配置文件
学生成绩一个配置文件

  对文件的分配方式
  1.按功能模块分,一个模块一个文件
  2.按类的功能,数据库相关配置一个文件,做事务的功能一个配置文件,左service功能的一个配置文件等

1.依赖注入:pom.xml
2.创建一个Student类

public class Student {

    private  String name;
    private  int age;

public Student(){
    System.out.println(name+age);


}
    //定义一个应用类型school
    private school sch;

    public void setSch(school sch) {

        this.sch = sch;
    }

    public void setName(String name) {
        this.name = name;
        System.out.println(name);
    }

    public void setAge(int age) {
        this.age = age;
        System.out.println(age);
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sc=" + sch +
                '}';
    }
}

3.创建一个School类

public class school
{
    private String school;
    private String address;


    public void setSchool(String school) {

        this.school = school;
    }

    public void setAddress(String addreess)
    {
        this.address = addreess;
    }

    @Override
    public String toString() {
        return "school{" +
                "school='" + school + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

4.spring配置文件
spring-school.xml文件

<!--声明所有school的bean的配置文件-->
    <!--byName-->
    <!--声明scool类java对象其中的sch:引用类型的属性名-->
    <bean id="sch" class="com.springproject.bao6.school" >
        <property name="school" value="清华大学"/>
        <property name="address" value="成都市"/>
    </bean>

sprig-student.xml文件

<!--studnet模块所有bean的声明-->
    <!--声明student对象stu-->
    <!--byName 将Student类中的应用类型的所有属性通过autowire给属性赋值-->
    <bean id="stu" class="com.springproject.bao6.Student"  autowire="byName">
        <property name="name" value="张三"/>
        <property name="age" value="40"/>
    </bean>

total.xml文件

!--
    包含关系的配置文件:
    (1)spring-total表示主配置文件,用来包含其它的配置文件的,主配置文件一般不用来定义对象
    (2)语法:
      <import resource ="其它配置文件的路径"/>
      关键字:classpath:表示类路劲(class文件所在的目录),告诉spring到哪去加载读取文件
    -->
   <!--加载的是文件列表-->
   <!--方法一多个配置文件:这种方式不需要建立下面项目结构图片中的total.xml文件-->
   <import resource ="classpath:templates/bao6/spring-school.xml"/>
    <import resource ="classpath:templates/bao6/spring-student.xml"/>
    
   <!--方法二 包含关系的通配符的使用 “*”,表示任意字符(该方式需要建立下面项目结构图片中的total.xml文件且命名不能是spring-total.xml  ,total.xml的作用是关联两个配置文件,会在该包下去扫描spring开头的文件,入果如命名成了spring-total.xml会一直扫描,不会结束) -->
    <import resource ="classpath:templates/bao6/spring-*.xml"/>

5.测试类

@Test
    public void test02(){
        //1.指定spring配置的文件名
        String config="templates/bao6/total.xml";
        //2.创建表示spring容器的对象ac,
        ApplicationContext ac1 = new ClassPathXmlApplicationContext(config);//创建了一个容器对象ac。
        //从spring容器中getBean("配置文件中的bean的id")获取java对象stu,并且把它转成希望的类型
       Student stu1=(Student) ac1.getBean("stu");

        System.out.println(stu1);
    }

6.项目结构
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值