当前位置: 首页 > 编程笔记 >

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

尉迟浩思
2023-03-14
本文向大家介绍Spring框架设值注入操作实战案例分析,包括了Spring框架设值注入操作实战案例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Spring框架构造注入操作实战案例,包括了Spring框架构造注入操作实战案例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Spring框架构造注入操作。分享给大家供大家参考,具体如下: 一 配置 二 接口 Axe Person 三 实现 Chinese StoneAxe SteelAxe 四 测试类 五 运行 钢斧砍柴真快 更多关于java相关内容感兴趣的读者可查看本站

  • 本文向大家介绍Spring实战之注入集合值操作示例,包括了Spring实战之注入集合值操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Spring实战之注入集合值操作。分享给大家供大家参考,具体如下: 一 配置 二 接口 Axe Person 三 实现 Chinese StoneAxe SteelAxe 四 测试类 五 运行 Spring实例化主调bean:Chinese实例...

  • 本文向大家介绍Aspectj框架实战案例详解,包括了Aspectj框架实战案例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Aspectj框架。分享给大家供大家参考,具体如下: 一 环境变量配置 CLASSPATH配置为: .;d:\aspectj1.8\lib\aspectjrt.jar;D:\Program\Java\jdk1.8.0_162\lib\dt.jar;D:\Prog

  • 目前常用的 Linux 发行版主要包括 Debian/Ubuntu 系列和 CentOS/Fedora 系列。 前者以自带软件包版本较新而出名;后者则宣称运行更稳定一些。选择哪个操作系统取决于读者的具体需求。 使用 Docker,读者只需要一个命令就能快速获取一个 Linux 发行版镜像,这是以往包括各种虚拟化技术都难以实现的。这些镜像一般都很精简,但是可以支持完整 Linux 系统的大部分功能。

  • 本文向大家介绍Spring实战之注入嵌套Bean操作示例,包括了Spring实战之注入嵌套Bean操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Spring实战之注入嵌套Bean操作。分享给大家供大家参考,具体如下: 一 配置 二 接口 Axe Person 三 实现 Chinese StoneAxe SteelAxe 四 测试类 五 运行 钢斧砍柴真快 更多关于java相关内容

  • 本文向大家介绍Django框架表单操作实例分析,包括了Django框架表单操作实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Django框架表单操作。分享给大家供大家参考,具体如下: HTML表单是网站交互性的经典方式。 开始学习如何用Django对用户提交的表单数据进行处理。 HTTP 请求 HTTP协议以"请求-回复"的方式工作。客户发送请求时,可以在请求中附加数据。服务器通