[Spring]有一个人的类,他有使用武器的方法;有英雄类,继承人的类;武器有手枪和武士刀。
来源:互联网 发布:梅子知时节小说 编辑:程序博客网 时间:2024/06/05 18:04
这道题是我自己出的给自己做的,练习spring,使用setter注入,面向接口编程,我的程序如下:
在com.zzk.app.service包下
package com.zzk.app.service;public interface Person {//定义一个使用武器的方法 public void useWeapon();}
package com.zzk.app.service;public interface Weapon { //Weapon接口里有一个攻击的方法public String attack();}
在com.zzk.app.service.impl包内
package com.zzk.app.service.impl;import com.zzk.app.service.Person;import com.zzk.app.service.Weapon;public class Hero implements Person{private Weapon weapon;//设值注入所需的setter方法public void setWeapon(Weapon weapon) {this.weapon = weapon;} //实现Person接口的useWeapon方法public void useWeapon() {//调用weapon的attack()方法,//表明Person对象依赖于axe对象System.out.println(weapon.attack());}}package com.zzk.app.service.impl;import com.zzk.app.service.Weapon;public class GunWeapon implements Weapon{public String attack() {return "AK47,秒杀你";}}package com.zzk.app.service.impl;import com.zzk.app.service.Weapon;public class GunWeapon implements Weapon{public String attack() {return "AK47,秒杀你";}}bean.xml
<?xml version="1.0" encoding="GBK"?><!-- Spring配置文件的根元素,使用spring-beans-3.0.xsd语义约束 --><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><!-- 配置KnifeWeapon实例,其实现类是KnifeWeapon --><bean id="Hero" class="com.zzk.app.service.impl.Hero"><!-- 将GunWeapon注入给weapon属性 --><property name="weapon" ref="KnifeWeapon"/></bean><!-- 配置GunWeapon实例,其实现类是GunWeapon --><bean id="GunWeapon" class="com.zzk.app.service.impl.GunWeapon"/><!-- 配置KnifeWeapon实例,其实现类是KnifeWeapon --><bean id="KnifeWeapon" class="com.zzk.app.service.impl.KnifeWeapon"/></beans>在com.zzk.app.test包下
package com.zzk.app.test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.zzk.app.service.Person;public class BeanTest { public static void main(String[] args) {//创建Spring容器 ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); //获取Hero实例 Person p = (Person)ctx.getBean("Hero", Person.class); p.useWeapon(); }}
over
- [Spring]有一个人的类,他有使用武器的方法;有英雄类,继承人的类;武器有手枪和武士刀。
- c++:有武器的角色类
- 雅虎的人工智能有独门武器!
- 武器杀伤有限制
- 单身女性的居家防护武器,你有几个?
- 一个人的梦想有多大,他的事业就会有多大
- 类的有参方法
- 【喜欢一个人】和【对一个人有感情】之间的区别
- Spring注入有继承关系的类
- Spring的核心类有哪些
- 第八周-不止有一件武器
- Python的静态方法和类方法有什么区别
- 子类的父类和接口有相同的方法
- 奔跑在学习的道路上,有你,有他,有她,有大家(UIT)
- 带武器的角色类
- 带武器的角色类
- 带有武器的角色类
- 世界最有影响力的CRM英雄
- Linux静态库和动态库的分析
- MFC RichEdit的使用
- 将浮点数四舍五入,取小数点后2位
- 2分查找
- MySQL日期时间函数大全
- [Spring]有一个人的类,他有使用武器的方法;有英雄类,继承人的类;武器有手枪和武士刀。
- 强制QQ聊天!
- [FATAL] [INS-20702] Unexpected internal driver error
- 盘点BCGControlBar 2012年焦点
- oracle+110个常用函数
- poj 1276 Cash Machine
- 做生意和打工的区别 (真的很好)
- 字符串处理总结之二(C#StringBuilder类)
- 单片机IO口配置详解