bean文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://www.springframework.org/schema/beans"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  6.  
  7. <bean id="teacher" class="com.ppmoney.test.Teacher">
  8. <property name="name" value="Yang"/>
  9. </bean>
  10. <bean id="score" class="com.ppmoney.test.Score">
  11. <constructor-arg name="name" value="数学课"/>
  12. <constructor-arg name="id" value="1"/>
  13. </bean>
  14. <bean id="teacher2" class="com.ppmoney.test.Teacher">
  15. <constructor-arg name="name" value="Zhang"/>
  16. <constructor-arg name="score" ref="score"/>
  17. </bean>
  18.  
  19. </beans>

2.类文件如下

  1. class Teacher extends Observable
  2. {
  3. public Teacher()
  4. {
  5.  
  6. }
  7. public Teacher(Score score,String name)
  8. {
  9. this.score=score;
  10. this.name=name;
  11. }
  12. private String name;
  13. private Score score;
  14. public void startLesson()
  15. {
  16. System.out.println(String.format("%s老师%s 开始上课",getScore(),name));
  17. super.setChanged();
  18. super.notifyObservers();
  19. }
  20.  
  21. public String getName() {
  22. return name;
  23. }
  24. public Score getScore() {
  25. return score;
  26. }
  27. public void setName(String name) {
  28. this.name = name;
  29. }
  30. }
  31.  
  32. class Score
  33. {
  34. private String name;
  35. private int id;
  36.  
  37. Score(String name, int id) {
  38. this.name = name;
  39. this.id = id;
  40. }
  41.  
  42. public String getName() {
  43. return name;
  44. }
  45.  
  46. public void setName(String name) {
  47. this.name = name;
  48. }
  49.  
  50. public int getId() {
  51. return id;
  52. }
  53.  
  54. public void setId(int id) {
  55. this.id = id;
  56. }
  57.  
  58. @Override
  59. public String toString()
  60. {
  61. return name;
  62. }
  63. }

3.调用代码如下

  1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean1.xml");//读取bean.xml中的内容
  2.  
  3. Teacher sir=ctx.getBean("teacher2",Teacher.class);
  4. if(sir==null)
  5. {
  6. System.out.println( "Teacher Init Failed..." );
  7. }
  8. else {
  9. System.out.println( "Teacher Init Succ..." );
  10. }

java的Spring学习2--构造函数注入的更多相关文章

  1. Java框架spring 学习笔记(十八):事务管理(xml配置文件管理)

    在Java框架spring 学习笔记(十八):事务操作中,有一个问题: package cn.service; import cn.dao.OrderDao; public class OrderSe ...

  2. java 从spring容器中获取注入的bean对象

      java 从spring容器中获取注入的bean对象 CreateTime--2018年6月1日10点22分 Author:Marydon 1.使用场景 控制层调用业务层时,控制层需要拿到业务层在 ...

  3. Spring 学习笔记 ----依赖注入

    依赖注入 有三种方式,本文只学习下属性注入. 属性注入       属性注入即通过 setXxx方法()注入Bean的属性值或依赖对象,由于属性注入方式具有可选择性和灵活性高的优点,因此属性注入方式是 ...

  4. Spring学习笔记--依赖注入

    依赖注入和控制反转:http://baitai.iteye.com/blog/792980出自李刚<轻量级 Java EE 企业应用实战> Java应用是一种典型的依赖型应用,它就是由一些 ...

  5. Java框架spring 学习笔记(十四):注解aop操作

    回见Java框架spring Boot学习笔记(十三):aop实例操作,这里介绍注解aop操作 首先编写一个切入点HelloWorld.java package com.example.spring; ...

  6. Java框架spring 学习笔记(十):bean管理(注解和配置文件混合使用)

    配置文件和注解混合使用 创建对象操作使用配置文件方式实现 注入属性的操作使用注解方式实现 编写BookDao.java和OrderDao.java文件 BookDao.java package com ...

  7. Java框架spring 学习笔记(一):SpringBean、ApplicationContext 容器、BeanFactory容器

    Spring容器是Spring框架的核心,容器可以创建对象并创建的对象连接在一起,配置和管理他们的整个生命周期.Spring 容器使用依赖注入(DI)来作为管理应用程序的组件,被称为 Spring B ...

  8. Spring 学习之依赖注入

    什么是依赖关系? 纵观所有的Java 应用,从基于Applet的小应用到多层次结构的企业级别的应用,他们都是一种典型的依赖性应用,也就是由一些互相协作的对象构成的,Spring把这种互相协作的关系称之 ...

  9. spring学习之依赖注入DI与控制反转IOC

    一 Ioc基础 1.什么是Ioc? Ioc(Inversion of Control)既控制反转,Ioc不是一种技术,而是一种思想,在Java开发中意味着将设计好的对象交给容器来进行控制,并不是像传统 ...

  10. Java框架spring 学习笔记(六):属性注入

    属性注入:创建对象的时候,向类里面的属性设置值. Java属性注入有三种方法: 使用set方法注入 有参数构造注入 使用接口注入 Spring框架里面的属性注入方式 有参数构造属性注入 set方法属性 ...

随机推荐

  1. 一段PHP异常

    这是我写的一段代码,里面通过PHP异常功能,实现报错时显示出错代码所在行.当使用者操作出错时,截图给我,我可以很快得去追踪和排查错误! public function added_business_s ...

  2. Border Layout

    ------------------siwuxie095                             根面板 contentPane 的默认布局就是 Border Layout     B ...

  3. setjmp和longjmp

    此文是学习 C专家编程 中的笔记. setjmp和longjmp是C语言所独有的,它们部分弥补了C语言有限的转移能力. 函数说明(来自wiki百科): int setjmp(jmp_buf env) ...

  4. 算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-003比较算法及算法的可视化

    一.介绍 1. 2. 二.代码 1. package algorithms.elementary21; /*********************************************** ...

  5. 算法Sedgewick第四版-第1章基础-003一封装日期

    1. package ADT; import algorithms.util.StdOut; /**************************************************** ...

  6. ZROI2018提高day3t3

    传送门 分析 我们对于每一个可以匹配的字符都将其从栈中弹出,然后他的哈希值就是现在栈中的字符哈希一下.然后我们便可以求出对于哪些位置它们的哈希值是一样的,即它们的状态是一致的.而这些点可以求出它们的贡 ...

  7. 第三章:PCL基础3.1

    架构师为了确保在PCL中所有代码风格的一致性,使得其他开发者及用户容易理解源码,PCL开发者制定并遵循着一套严格的编写规范,PCL的开发者都默认此规范. 3.1PCL推荐的命名规范 1.文件命名 1) ...

  8. Android开发环境搭建及HelloWorld

    在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld.本文的主题如下: 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.Android S ...

  9. 数据结构 i_love(我喜欢)

    数据结构 i_love(我喜欢) 问题描述 集训队的学长们都怪怪的,如果 A 学长喜欢 B 学长, A 就会把自己的名字改成«I_love_<B 学长的名字>».但是奇怪的学长们很容易移情 ...

  10. 基于jQuery的Tooltip

    近来,要开发一个关务管理系统,为了增加系统美观度,自己开发了一个基于jQuery框的的小插件,与大家分享一下,希望大家能给我提出宝贵修改意见. 下面开发说明使用方法和内容: 一.引用jQuery框架, ...