通过google学习了一段时间的ssh整合,现在对整合一个ssh开发环境以及一个注册登陆系统已不是问题,也许是出于本人Java基础的问题,在此发表此文章加深对ssh开发过程中,几个概念的理解:
一是:面向接口编程
二是:设置注入(setter注入)
示例程序说明:
本文将引用一个常见的场景(旨在加深自己对接口与实现概念的理解):抽象 【汽车Car】 中有实例
【宝马汽车BMcar】,汽车中都有抽象 【播放器Music】 ,播放器又可以播放 【重音乐Strongmusic】,
重音乐中又可以有 【使用方法playMusic】 和 【使用方法stopMusic】 , 在抽象 【汽车Car】 和 【播放器Music】
中只包含接口。
Car Music BMcar Strongmusic 之间的关系是:BMcar是接口Car的实现类,Strongmusic是接口
Music的实现类。
代码依次是:
Car.java
/**
* @author Eric Zhang
*/
public interface Car {
//使用车载播放器方法
public void useMusicplay();
public void useMusicstop();
}
BMcar.java
/**
* @author Eric Zhang
* Car的实现类
* 宝马汽车BMcar
*/
public class BMcar implements Car {
//面向Music接口编程
private Music music ;
public BMcar()
{
}
//设值注入所需的setter方法
public void setMusic(Music music)
{
this.music = music;
}
@Override
public void useMusicplay() {
System.out.println(music.playMusic());
}
public void useMusicstop() {
System.out.println(music.stopMusic());
}
}
Music.java
/**
* @author Eric Zhang
* 播放器可以有播放方法,暂停方法,下一首,上一首等方法
*/
public interface Music {
//播放器的播放方法
public String playMusic();
public String stopMusic();
}
Strongmusic.java
/**
* @author Eric Zhang
* Music的一个实现类
* 播放器可以有重音乐播放器,轻音乐播放器等
* 在此实现,重音乐播放器
*/
public class Strongmusic implements Music
{
public Strongmusic()
{
}
//实现Music接口的playMusic方法
@Override
public String playMusic()
{
return "音乐播放器播放方法";
}
public String stopMusic()
{
return "音乐播放器暂停方法";
}
}
为了看下测试结果,添加一个测试类
BeanTest.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**
* @author Eric Zhang
*
*/
public class BeanTest {
public static void main(String[] args) throws Exception
{
ApplicationContext ctx = new FileSystemXmlApplicationContext("/src/applicationContext.xml");
Car p = (Car)ctx.getBean("bmcar");
p.useMusicplay();
System.out.println();
p.useMusicstop();
}
}
为了方便管理bean,程序一开始添加了spring的支持,所以要在此配置下bean
配置文件applicationContext. 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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!-- 定义 --> <bean id="bmcar" class="BMcar"> <property name="music"> <ref local="strongMusic"></ref> </property> </bean> <!--定义strongmusic bean--> <bean id="strongMusic" class="Strongmusic"> </bean> </beans>
最后测试结果为:
log4j:WARN No appenders could be found for logger (org.springframework.context.support.FileSystemXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
音乐播放器播放方法
音乐播放器暂停方法
本文全属本人自学总结,如有不当,请批评指正~!