zoukankan      html  css  js  c++  java
  • java的Spring学习2--构造函数注入

    bean文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
     <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns="http://www.springframework.org/schema/beans"
                 xsi:schemaLocation="http://www.springframework.org/schema/beans
                 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    
         <bean id="teacher" class="com.ppmoney.test.Teacher">
            <property name="name" value="Yang"/>
        </bean>
        <bean id="score" class="com.ppmoney.test.Score">
            <constructor-arg name="name" value="数学课"/>
            <constructor-arg name="id" value="1"/>
        </bean>
        <bean id="teacher2" class="com.ppmoney.test.Teacher">
            <constructor-arg name="name" value="Zhang"/>
            <constructor-arg name="score" ref="score"/>
        </bean>
    
     </beans>

    2.类文件如下

    class Teacher extends  Observable
    {
        public Teacher()
        {
    
        }
        public Teacher(Score score,String name)
        {
            this.score=score;
            this.name=name;
        }
        private String name;
        private Score score;
        public void startLesson()
        {
            System.out.println(String.format("%s老师%s 开始上课",getScore(),name));
            super.setChanged();
            super.notifyObservers();
        }
    
        public String getName() {
            return name;
        }
        public Score getScore() {
            return score;
        }
        public void setName(String name) {
            this.name = name;
        }
    }
    
    class Score
    {
        private String name;
        private int id;
    
        Score(String name, int id) {
            this.name = name;
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        @Override
        public String toString()
        {
            return name;
        }
    }

    3.调用代码如下

    ApplicationContext ctx = new ClassPathXmlApplicationContext("bean1.xml");//读取bean.xml中的内容
    
            Teacher sir=ctx.getBean("teacher2",Teacher.class);
            if(sir==null)
            {
                System.out.println( "Teacher Init Failed..." );
            }
            else {
                System.out.println( "Teacher Init Succ..." );
    }            
  • 相关阅读:
    缓存穿透、缓存雪崩、缓存击穿的区别和解决方案
    图解“红黑树”原理,一看就明白!
    Linux系统中常见文件系统格式
    Maven 加载ojdbc14.jar报错,解决方法
    mybatis中#{}和${}的区别
    SqlServer 分页批按时间排序
    Centos7安装与配置domain模式wildfly(默认配置)
    通过java调用Http接口上传图片到服务器
    Spring boot 配置array,list,map
    idea+springboot+freemarker热部署
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/6592952.html
Copyright © 2011-2022 走看看