spring_02工具及接口案例

1.spring工具类:ApplicationContextUtil.java,可以返回加载配置文件的容器对象

package com.ahd.utils;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ApplicationContextUtil {
    static ApplicationContext ac=null;

    //创建私有无参构造方法
    private ApplicationContextUtil(){}

    static{
        ac=new ClassPathXmlApplicationContext("beans.xml");
    }
    public static ApplicationContext getApplicationContext(){
        return ac;
    }
}

2.spring开发提倡接口编程,配合di技术可以层与层的解耦,通过接口,   配置文件可以很容易把一个类信息改变成另一个类

3.思路

  1).创建一个接口ValidateUser

  2).两个类实现接口,

  3).把对象配置到spring容器中

  4).使用(通过接口来获取getBean获得的对象)

4.具体实现

  接口ValidateUser   

package com.ahd.service;

public interface ValidateUser {
    public void check();
}

  

  实现接口的类CheckUser1

package com.ahd.serviceImpl;

import com.ahd.service.ValidateUser;

public class CheckUser1 implements ValidateUser{
    private String username;
    private String password;

    @Override
    public void check() {
        System.out.println(username+password);
        System.out.println("通过xml验证成功");
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

  实现接口的类CheckUser2

package com.ahd.serviceImpl;

import com.ahd.service.ValidateUser;

public class CheckUser2 implements ValidateUser{
    private String username;
    private String password;

    @Override
    public void check() {
        System.out.println(username+password);
        System.out.println("通过数据库验证成功");
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

  配置文件beans.xml,配置的两个bean对象可以相互替换(注释的和没有注释的)

<?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:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    <!-- 在容器文件中配置数据源(bean/entity/service/dao/pojo) -->
    <!-- bean元素的作用是当spring框架加载的时候,spring会自动为bean类 UserService类的属性设置值  id就是创建对象的对象名 -->
        <!--
    <bean id="validateUser" class="com.ahd.serviceImpl.CheckUser1">
        <property name="username">
            <value>爱华顿g</value>
        </property>
        <property name="password" value="123456"></property>
    </bean>
 -->
    <bean id="validateUser" class="com.ahd.serviceImpl.CheckUser2">
        <property name="username">
            <value>爱华顿g</value>
        </property>
        <property name="password" value="123456"></property>
    </bean>

</beans>

  测试代码Test

package com.ahd.test;

import static org.junit.Assert.*;

import com.ahd.service.ValidateUser;
import com.ahd.utils.ApplicationContextUtil;

public class Test {

    @org.junit.Test
    public void test() {
        //使用接口实现
        ValidateUser vu=(ValidateUser) ApplicationContextUtil.getApplicationContext().getBean("validateUser");
        vu.check();
    }

}

原文地址:https://www.cnblogs.com/aihuadung/p/10356438.html

时间: 2024-11-05 11:57:57

spring_02工具及接口案例的相关文章

Java利用webservice创建接口案例源码

环境要求: JDK1.7,并配置Java的环境变量 BaseDao  接口: /** * 要使得成为一个可供访问的接口,必须添加:@WebService * */ @WebServicepublic interface BaseDao {    //添加一个加法的接口        @WebResult(name="addddddre")    public int add(@WebParam(name="add01")int a,@WebParam(name=&q

【接口工具】接口抓包工具之Charles

上篇我们讲了Fiddler,Fiddler是用C#开发的,所以Fiddler不能在Mac系统中运行,没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢? 1.Fiddler可以允许"远程连接".  可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS. Mac中安装虚拟机软件(比如VMware Fusion),然后在虚拟机中安装一个 Windows7系统(别的Window系统都可以), 然后在Windosw7中安装Fidd

Jmeter HTTP接口案例开发、调试方法

HTTP接口案例案例开发的步骤为: 1.了解要开发案例的业务流程,比如新增案例,是否有其它前置条件,如果有,就需要先开发好前置条件的案例 2.手工开发案例或者通过jmeter录制功能开发案例 3.对案例进行调试,响应结果和预期结果一致,则案例开发完成 对于简单的案例,建议直接手工编写,涉及到上传附件.导入excel,等复杂案例建议录制脚本 一.开发脚本 手工编写脚本 本次案例为新增角色,一般我们使用谷歌浏览器进行页面操作,然后按F12显示接口请求 输入必填项,点击保存按钮,接口请求显示如下,根据

Java自动化测试工具Parasoft Jtest案例分享

Parasoft Jtest是Parasoft旗下的一个可以提高开发团队生产力和软件质量方法的集成解决方案.它着重在用于验证 Java代码和应用程序的方法,并且能够无缝集成Parasoft SOAtest 来确保对当今复杂,分布式应用程序和业务实现端到端功能和压力试. >>下载最新版Parasoft Jtest试用<< 今天给大家分享几个Parasoft Jtest经典测试案例,让大家更深入了解这一测试工具. TransCore静态分析和单元测试案例研究 TransCore需要具有

【2016.01.18】通过Fiddler工具进行接口代理 - 用本地接口代理线上接口运行

Fiddler是抓取请求的工具的一种,类似的还有Charles等,使用Fidder之前应先关闭其他的代理工具 需求如下: 网站前端和服务端配合开发了一个页面,会调取接口A的数据并在页面上呈现,现在由于业务要求需要开发新的接口B,在原有的前端逻辑下正常展示.那么,在开发的过程中,在没有前端配合的情况下,服务端如何让这个页面调取B的接口并呈现呢? 解决方案是这样: 以去哪儿的某款产品为例:http://szgq1.package.qunar.com/user/id=187688454&abt=a#t

科来网络分析工具基本操作与案例分析

网络分析工具--科来 一.什么是科来 科来网络分析系统为网络管理工作提供了全面可靠的数据依据,它可以帮助用户排查网络故障.规避网络风险.提升网络性能.提高故障处理能力.减少故障损失并降低管理成本,所以,科来网络分析系统是网络管理中的必备产品. 科来网络分析系统是一个让网络管理者,能够在各种网络问题中,对症下药的网络管理方案,它对网络中所有传输的数据进行检测.分析.诊断,帮助用户排除网络事故,规避安全风险,提高网络性能,增大网络可用性价值. 管理者不用再担心网络事故难以解决,科来网络分析系统可以帮

Spring-Boot ? ShapeFile文件读写工具类+接口调用

一.项目目录结构树 二.项目启动 三.往指定的shp文件里写内容 (1) json数据[Post] { "name":"test", "path":"c:/test", "geom":"MULTIPOLYGON(((101.870371 25.19228,101.873633 25.188183,101.880564 25.184416,101.886808 25.186028,101.89204

go 接口案例,音乐播放器

manager.go //package main package mlib import "errors" type MusicEntry struct { Id string Name string Artist string Source string Type string } type MusicManager struct { musics []MusicEntry } func NewMusicManager() *MusicManager{ return &Mu

手机获取验证码的接口 案例

$sms = new SMS(); $result = $sms->sendMsg($mobile); if ($result['result'] == "0") { $array['status'] = 0; $array['comment'] = '发送成功...'; $array['data'] = $result; }else { $array['status'] = 1; $array['comment'] = '发送失败...'; } SMS.class.php cl