spring depends-on 不起作用

beans-realation.xml

<?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:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!--     abstract="true" 则不能获得这个bean 说明它只是一个模板,只能被继承 --><bean id = "address" class="com.yuxishua.autowire.Address" p:city="Beijing" p:street="ChangAnLu" abstract="true"></bean>
<!--     继承bean的配置使用parent 属性,但是没有java 继承的意思 --><bean id = "address2" parent="address" p:street="HanSenLU"></bean>
<!--     要求person bean 必须有一个关联的car ,意思就是说这个bean依赖car这个bean --><bean id = "person"  depends-on="car" class="com.yuxishua.autowire.Person" p:name="Tom" p:address-ref="address2" ></bean><bean id = "car" class="com.yuxishua.autowire.Car" p:brand="AuDi" p:price="30000"></bean>
</beans>
package com.yuxishua.beansrelation;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.yuxishua.autowire.Address;
import com.yuxishua.autowire.Car;
import com.yuxishua.autowire.Person;public class Main
{public static void main(String[] args){ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-realation.xml");Person person = (Person) ctx.getBean("person");Address address2 = (Address) ctx.getBean("address2");Car car = (Car) ctx.getBean("car");System.out.println(address2 );System.out.println(person);System.out.println(car);}}
package com.yuxishua.autowire;public class Person
{private String name;private Address address;private Car car;@Overridepublic String toString(){return "Person [name=" + name + ", address=" + address + ", car=" + car+ "]";}public String getName(){return name;}public void setName(String name){this.name = name;}public Address getAddress(){return address;}public void setAddress(Address address){this.address = address;}public Car getCar(){return car;}public void setCar(Car car){this.car = car;}}
package com.yuxishua.autowire;public class Car
{private String brand;private double price;public String getBrand(){return brand;}public void setBrand(String brand){this.brand = brand;}public double getPrice(){return price;}public void setPrice(double price){this.price = price;}@Overridepublic String toString(){return "Car [brand=" + brand + ", price=" + price + "]";}}
package com.yuxishua.autowire;public class Address
{private String city;private String street;@Overridepublic String toString(){return "Address [city=" + city + ", street=" + street + "]";}public String getCity(){return city;}public void setCity(String city){this.city = city;}public String getStreet(){return street;}public void setStreet(String street){this.street = street;}}

就上面的代码,结果输出

Person [name=Tom, address=Address [city=Beijing, street=HanSenLU], car=null]

car 为什么没有注入呢,是spring版本的问题吗?还是什么原因?

spring为4.0.8

 

转载于:https://www.cnblogs.com/yuxishua/p/5782896.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Jedis源码生成Jedis.jar

前言 现在github上很多项目都使用maven工程来发布&#xff0c;没有jar包&#xff0c;所以下载下源码之后&#xff0c;还要自己打包成jar包形式以便引用。这个文档可以简略描述打包的过程 打包步奏 首先要在电脑上安装Maven并且安装eclipse Maven插件打开Eclipse&#xff0c;Fi…

python break跳出外层_失去循环标记的Python,我这样实现跳出外层循环

不完美的Python 自从各类Python大火&#xff0c;感觉天上地下哪儿都有Python的一席之地&#xff0c;Python功夫好啊…但python有些细节上缺少其他语言的便利。今天我们就来举几个例子。 跳出外层循环 大家都知道&#xff0c;在Java中存在标签的概念&#xff0c;当我们存在多层循…

获取toast值

/** * 获取Toast的String值 * return */ public String getToast(int timeout){ TextView toastTextView null; String toastText ""; long endTime SystemClock.uptimeMillis() timeout; while(SystemClock.uptimeMillis() < endTime){ toastTextView (Text…

Redis windows学习(一)——redis安装和基础使用

前言 最近做项目时&#xff0c;打算用Redis做缓存服务器&#xff0c;于是研究了一下Redis。由于项目是在windows下&#xff0c;也不打算开个虚拟机&#xff0c;所以就直接安装在windows下。虽然&#xff0c;Redis官网并不提供windows版本&#xff0c;但还是指明了可以在微软开…

button 隐藏属性_PyQt5实现仿QQ贴边隐藏功能!有点意思

此程序大致功能为&#xff1a;可变换颜色&#xff0c;贴边隐藏。变换颜色思路QPalette( [ˈplət] 调色板)类相当于对话框或控件的调色板&#xff0c;它管理着控件或窗体的所有颜色信息&#xff0c;每个窗体或控件都包含一个QPalette对象&#xff0c;在显示时按照它的QPalette对…

query的list()和iterate()区别 面试题

query的list()和iterate()区别 1.返回的类型不一样&#xff0c;list返回List&#xff0c;iterate返回iterator 2.查询策略不同。 获取数据的方式不一样&#xff0c;list会直接查询数据库&#xff0c;iterate会先到数据库中把id取出来&#xff0c;然后真正要遍历某个对象的时候…

Redis windows学习(二)——Redis持久化的AOF模式和RDB模式

AOF和RDB是什么 Redis进行操作时&#xff0c;有两种方式将操作的结果保存下来。一种是将结果以快照的方式保存在二进制文件中&#xff08;默认叫&#xff1a;dump.rdb* &#xff09;&#xff0c;这就是RDB模式&#xff0c;另一种是将操作的命令追加到一个记录文件里&#xff0…

java+eclipse+selenium环境搭建

这几天在学selenium&#xff0c;大头虾的我。安装环境还是遇到了挺多问题&#xff0c;赶紧来记录下。不然下次又。。。&#xff08;参考虫师的《Selenium2 Java自动化测试实战》&#xff09;&#xff0c;就随便写写加深下自己的印象。 1、安装java 访问java官网下载jdk http://…

unity socket传输图片_python3实现socket传输图片

我最近在做一个项目的时候需要把树莓派上的摄像头拍摄的图片实时传输到我的PC上我想通过socket完成这个功能我找了找网上的代码&#xff0c;好多都是python2.x版本的&#xff0c;或者是图片总是传不过来的&#xff0c;只能自己写了一个我先附上我的源代码&#xff0c;再来聊一聊…

Spring AOP编程问题:下面代码哪里错了?可以考验对Spring AOP的实现机制是否了解的

引言 刚刚开始学Spring AOP&#xff0c;按照教程配置好之后&#xff0c;可以像正常方法那样执行&#xff0c;却怎么也不会执行切面的方法。去群里问了一下&#xff0c;结果也没有解决。然后自己慢慢的试&#xff0c;终于发现了原因。 下面是一段有问题的代码&#xff0c;只有…

System.Web.HttpContext.Current.Session为NULL解决方法

http://www.cnblogs.com/tianguook/archive/2010/09/27/1836988.html 自定义 HTTP 处理程序&#xff0c;从IHttpHandler继承&#xff0c;在写System.Web.HttpContext.Current.Session["Value"]的时 候&#xff0c;没有问题&#xff0c;但想将这个Session写到某个变量…

python 对象_Python中的Barrier对象

python中的Barrier对象用于等待固定数量的线程完成执行&#xff0c;然后任何特定线程才能继续执行程序。每个线程在到达Barrier时都调用wait()函数。Barrier负责跟踪wait()调用的数量。如果该数目超出了为其初始化Barrier的线程数&#xff0c;则Barrier为等待线程提供了一种继续…

Spring AOP原理浅析及入门实例

上篇问题及Spring AOP实现原理浅析 上篇说了一个AOP编程问题&#xff0c;那是一个错误的AOP案例。它的错误在A类中&#xff0c;再次粘贴A类代码&#xff1a; Componentpublic class AImpl implements A{public void doing() {System.out.println("hello");}public s…

AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素

/// <summary>/// 创建多边形shp/// </summary>/// <param name"pPolygon"></param>/// <param name"shpPath"></param>public static void CreatePolygonFeatureClass(IPolygon pPolygon, string shpfolder,string …

aes密文长度_RSA加密密文可变(一句话说明)

先来看一个搜索结果&#xff1a;RSA算法本质上是基于数学【对极大整数做因数分解的难度】的原理&#xff0c;so 密文本质上是一堆有规则的数字经过编码和【填充】的结果。原文和加密密钥相同&#xff0c;在java环境&#xff0c;默认Padding模式下每次生成的密文是相同的&#x…

网络分析之networkx(转载)

图的类型 Graph类是无向图的基类&#xff0c;无向图能有自己的属性或参数&#xff0c;不包含重边&#xff0c;允许有回路&#xff0c;节点可以是任何hash的python对象&#xff0c;节点和边可以保存key/value属性对。该类的构造函数为Graph(dataNone&#xff0c;**attr)&#xf…

ubuntu 14 java web服务器搭建

前言 前段时间&#xff0c;在阿里云买了台云服务器&#xff0c;30多块&#xff0c;然后部署了一个tomcatmysqlredissvn的运行环境&#xff0c;下面是一些整理。 连接到远程服务器 使用ssh登陆工具&#xff0c;比如scure CRT&#xff0c;以下的命令都是指在scure CRT下输入 …

sqlite管理工具_Liquibase 数据库版本管理工具:1.安装

1.Liquibase 是什么粘一段官方的解释Track, version, and deploy database changes跟踪、管理和应用数据库变化说白了&#xff0c;就是一个将你的数据库脚本转化为xml格式保存起来。其中包含了你对数据库的改变&#xff0c;以及数据库的版本信息&#xff0c;方便数据的升级和回…

BZOJ2720: [Violet 5]列队春游

2720: [Violet 5]列队春游 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 173 Solved: 125[Submit][Status][Discuss]Description Input Output Sample Input Sample Output HINT 题解&#xff1a;对于这种题目我只能呵呵一笑欺负我是单身汪&#xff0c;哎&#xff01; 一、…

win7下卸载linux系统(不用windows光盘)

前言 安装win7Linux双系统后&#xff0c;不想用了&#xff0c;该怎么卸载呢&#xff1f;其实&#xff0c;只要删除Linux分区即可删除掉Linux&#xff0c;但是&#xff0c;为了防止启动进不了windows&#xff0c;还是要更新一下主引导记录。 步骤一&#xff1a;使用MbrFix工具…