zoukankan      html  css  js  c++  java
  • Mystring05 配置文件之间的关系

    一:配置文件包含关系

    1.创建对应的实体类

    复制代码
    public class Student {   //学生实体类
    
        private  String   name;  //姓名
        private  Integer  age;  //年龄
        private  Grade   grade;  //年级
    
        @Override
        public String toString() {
            return "Student [name=" + name + ", age=" + age + ", grade=" + grade
                    + "]";
        }
        
        public Student() {
            super();
        }
        public Student(String name, Integer age, Grade grade) {
            super();
            this.name = name;
            this.age = age;
            this.grade = grade;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public Grade getGrade() {
            return grade;
        }
        public void setGrade(Grade grade) {
            this.grade = grade;
        }
    }
    复制代码
    复制代码
    public class Grade {   //年级实体类
        private String  name;  //年级名称
    
        @Override
        public String toString() {
            return "Grade [name=" + name + "]";
        }
    
        public Grade() {
            super();
        }
    
        public Grade(String name) {
            super();
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
    }
    复制代码

    2.创建配置文件

    复制代码
    <?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:c="http://www.springframework.org/schema/c"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <!--年级的Bean  -->
     <bean id="grade" class="cn.bdqn.bean.Grade" p:name="1年级"/>
      
    </beans>
    复制代码
    复制代码
    <?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:c="http://www.springframework.org/schema/c"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <!--学生的Bean    属性grade  在这个容器中没有对应的bean -->
     <bean id="student" class="cn.bdqn.bean.Student" p:name="小马哥"
       p:age="50" p:grade-ref="grade"/>
      
    </beans>
    复制代码
    复制代码
    <?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:c="http://www.springframework.org/schema/c"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <!-- 01.把其他的子文件包含进来
      <import resource="spring-grade.xml"/>
      <import resource="spring-student.xml"/> -->
    <!-- 02.把其他的子文件包含进来    当前的这个主的配置文件不能命名成spring-* 这种格式  -->
      <import resource="spring-*.xml"/>
    </beans>
    复制代码

    3.创建对应的测试类

    复制代码
    public class StudentTest {
        
        
        //配置文件的包含关系
        @Test
        public  void  test01(){
            ApplicationContext context=
                    new ClassPathXmlApplicationContext("applicationContext.xml");
            Student student=(Student) context.getBean("student");
            System.out.println("student信息:"+student);
        }
        
    }
    复制代码

    效果图如下

    二:配置文件平级关系

    1.删除上面练习中的总配置文件,只剩下两个平级的xml文件

    2.书写测试类

    复制代码
    public class StudentTest {
        
        
        //01.配置文件的平级关系
        @Test
        public  void  test01(){    //推荐使用  保证配置文件名称格式统一
            ApplicationContext context=
                    new ClassPathXmlApplicationContext("spring-*.xml");
            Student student=(Student) context.getBean("student");
            System.out.println("student信息:"+student);
        }
        //02.配置文件的平级关系
        @Test
        public  void  test02(){    
            ApplicationContext context=
                    new ClassPathXmlApplicationContext("spring-student.xml","spring-grade.xml");
            Student student=(Student) context.getBean("student");
            System.out.println("student信息:"+student);
        }
        //03.配置文件的平级关系
        @Test
        public  void  test03(){ 
            String resource1="spring-student.xml";
            String resource2="spring-grade.xml";
            String [] resources={resource1,resource2};
            ApplicationContext context=
                    new ClassPathXmlApplicationContext(resources);
            Student student=(Student) context.getBean("student");
            System.out.println("student信息:"+student);
        }
        
    }
    复制代码

     注解配置!引入需要的aop.jar

    复制代码
    /**
     * 学生类
     */
    @Component("student")
    public class Student {
        @Value("999")
        private Integer  age;
        @Value("小黑")
        private String  name;
        /**
         * 01.
         * @Autowired:
         * 默认是按照byType 类型匹配
         * @Autowired
           @Qualifier("grades")  按照byName进行匹配
           
           02.
           @Resource
               默认是按照byType 类型匹配
           @Resource(name="grades")
         */
        private  Grade grade;
        
        public Student(Integer ages, String names, Grade grades) {
            this.age = ages;
            this.name = names;
            this.grade = grades;
        }
        
        public Student(Integer age, String name) {
            this.age = age;
            this.name = name;
        }
        
        public Student() {
            
        }
        
        @Override
        public String toString() {
            return "Student [age=" + age + ", name=" + name + ", grade=" + grade
                    + "]";
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Grade getGrade() {
            return grade;
        }
        public void setGrade(Grade grade) {
            this.grade = grade;
        }
        
        
        
    }
    复制代码
    复制代码
    /**
     * 年级类
     */
    @Component("grades")
    public class Grade {
        @Value("9年级")
        private  String  name;  //年级名称
    
        public String getName() {
            return name;
        }
    
        //DI  依赖注入 
        public void setName(String name) {
            this.name = name;
        }
    
        public Grade(String name) {
            super();
            this.name = name;
        }
    
        public Grade() {
            super();
        }
    
        @Override
        public String toString() {
            return "Grade [name=" + name + "]";
        }
        
        
        
        
    
    }
    复制代码
    复制代码
    <?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:c="http://www.springframework.org/schema/c"
        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
            ">
            
         <!--  查询所有注解的类  -->
          <context:component-scan base-package="cn.bdqn"/><!--扫描本包和其子包下面的所有文件  -->
          <!--<context:component-scan base-package="cn.bdqn.*"/>扫描子包下面的所有文件  -->
    </beans>
    复制代码

    测试类

    复制代码
    public class StudentTest {
        
        ApplicationContext context=null;
        @Before
        public  void before(){
            context=new  ClassPathXmlApplicationContext("applicationContext.xml");
        }
        
        
        
        @Test
        public  void  test01(){
            Student student=(Student) context.getBean("student");
            System.out.println(student);
        }
    
    }
  • 相关阅读:
    iOS开发之WIFI,3G/4G两种网络同时使用技巧
    UIScreen的scale属性
    iOS开发中的Self-Manager 模式
    iOS UICollectionView简单使用
    Size Classes with Xcode 6
    SizeClass介绍
    AutoLayout处理UITableView动态高度
    在Scrollview中使用AutoLayout
    hashmap与hashtable的本质区别
    MySQL的5大引擎及优劣之分
  • 原文地址:https://www.cnblogs.com/kaisadadi/p/7640994.html
Copyright © 2011-2022 走看看