首页 > 编程 > Java > 正文

Spring框架设值注入操作实战案例分析

2019-11-26 08:20:40
字体:
来源:转载
供稿:网友

本文实例讲述了Spring框架设值注入操作。分享给大家供大家参考,具体如下:

一 配置

<?xml version="1.0" encoding="GBK"?><!-- Spring配置文件的根元素,使用spring-beans-4.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/beans   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">   <!-- 配置chinese实例,其实现类是Chinese类 -->   <bean id="chinese" class="org.crazyit.app.service.impl.Chinese">      <!-- 驱动调用chinese的setAxe()方法,将容器中stoneAxe作为传入参数 -->      <property name="axe" ref="stoneAxe"/>   </bean>   <!-- 配置stoneAxe实例,其实现类是StoneAxe -->   <bean id="stoneAxe" class="org.crazyit.app.service.impl.StoneAxe"/>   <!-- 配置steelAxe实例,其实现类是SteelAxe -->   <bean id="steelAxe" class="org.crazyit.app.service.impl.SteelAxe"/></beans>

二 接口

Axe

package org.crazyit.app.service;public interface Axe{   // Axe接口里有个砍的方法   public String chop();}

Person

package org.crazyit.app.service;public interface Person{   // 定义一个使用斧子的方法   public void useAxe();}

三 实现

Chinese

package org.crazyit.app.service.impl;import org.crazyit.app.service.*;public class Chinese implements Person{   private Axe axe;   // 设值注入所需的setter方法   public void setAxe(Axe axe)   {      this.axe = axe;   }   // 实现Person接口的useAxe方法   public void useAxe()   {      // 调用axe的chop()方法,      // 表明Person对象依赖于axe对象      System.out.println(axe.chop());   }}

StoneAxe

package org.crazyit.app.service.impl;import org.crazyit.app.service.*;public class StoneAxe implements Axe{   public String chop()   {      return "石斧砍柴好慢";   }}

SteelAxe

package org.crazyit.app.service.impl;import org.crazyit.app.service.*;public class SteelAxe implements Axe{   public String chop()   {      return "钢斧砍柴真快";   }}

四 测试类

package lee;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.crazyit.app.service.*;public class BeanTest{  public static void main(String[] args)throws Exception  {    // 创建Spring容器    ApplicationContext ctx = new      ClassPathXmlApplicationContext("beans.xml");    // 获取chinese 实例    Person p = ctx.getBean("chinese" , Person.class);    // 调用useAxe()方法    p.useAxe();  }}

五 运行

石斧砍柴好慢

更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表