Spring操作指南-IoC基础环境配置(基于注解手动装配)

本文内容纲要:Spring操作指南-IoC基础环境配置(基于注解手动装配)

本文内容

以一个简单的案例介绍如何基于注解的手动装配搭建一个Spring开发环境

环境

Spring-4.3.2

Commons-logging-1.2

案例项目

有一台计算机(Computer),这台计算机拥有声音播放设备的接口(PlaybackDevice),和一个键盘接口(Keyboard),因此只需要给计算机装配合适的设备,这台计算机就可以使用。

播放设备接口 PlaybackDevice.java

package com.oolong.main;

 

public interface PlaybackDevice {

 

public void play();

public void turnUp();

public void tureDown();

}

键盘设备接口 Keyboard.java

package com.oolong.components;

 

public interface KeyBoard {

 

public void print();

}

计算机 Computer.java

package com.oolong.components;

 

public class Computer {

 

private PlaybackDevice playDevice;

private KeyBoard keyBoard;

public void setPlayDevice(PlaybackDevice playDevice) {

this.playDevice = playDevice;

}

public void setKeyBoard(KeyBoard keyBoard) {

this.keyBoard = keyBoard;

}

 

public void playMusic() {

playDevice.play();

}

public void input() {

keyBoard.print();

}

}

计算机有两个设备的接口,并且有设置设备的方法。此外还有一个 playMusic() 方法可以播放声音,一个 input() 方法可以输入数据。

播放设备 VoiceBox.java

package com.oolong.components;

 

public class VoiceBox implements PlaybackDevice {

 

public void play() {

System.out.println("by Vocie Box");

}

 

public void turnUp() {

// TODO Auto-generated method stub

}

 

public void tureDown() {

// TODO Auto-generated method stub

}

}

机械键盘 Mechanical.java

package com.oolong.components;

 

public class Mechanical implements KeyBoard {

 

@Override

public void print() {

System.out.println("Mechanical");

}

}

编写配置类

ComputerConfig.java

package com.oolong.config;

 

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

 

import com.oolong.components.Computer;

import com.oolong.components.KeyBoard;

import com.oolong.components.Mechanical;

import com.oolong.components.PlaybackDevice;

import com.oolong.components.VoiceBox;

 

@Configuration

public class ComputerConfig {

 

@Bean(name = "voiceBox")

public PlaybackDevice playbackDevice() {

return new VoiceBox();

}

@Bean(name = "mechaincal")

public KeyBoard keyboard() {

return new Mechanical();

}

@Bean(name = "computer")

public Computer computer(PlaybackDevice playbackDevice, KeyBoard keyboard) {

Computer computer = new Computer();

computer.setPlayDevice(playbackDevice);

computer.setKeyBoard(keyboard);

return computer;

}

}

测试

AppContainer.java

package com.oolong.computer;

 

import org.springframework.context.ApplicationContext;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

 

import com.oolong.components.Computer;

import com.oolong.config.ComputerConfig;

 

public class AppContainer {

 

public static void main(String[] args) {

ApplicationContext ac = new AnnotationConfigApplicationContext(ComputerConfig.class);

Computer computer = (Computer)ac.getBean("computer");

computer.playMusic();

computer.input();

}

}

解析

Spring容器帮助我们处理bean之间的依赖关系,比如Computer这个实例化是需要依赖于一个 PlaybackDevice 和一个 Keyboard,你们我们的配置其实就是告诉Spring,如果Spring想要获取一个 PlaybackDevice 如何获取,想要获取一个 Keyboard 如何获取。

以及想要获取一个 Computer,如何获取。

当我们问Spring要一个 Computer的时候,它就会根据我们的要求交给我们一个 Computer。

源码

本文内容总结:Spring操作指南-IoC基础环境配置(基于注解手动装配)

原文链接:https://www.cnblogs.com/weilu2/p/spring_ioc_basic_config_java.html

以上是 Spring操作指南-IoC基础环境配置(基于注解手动装配) 的全部内容, 来源链接: utcz.com/z/296211.html

回到顶部