Primavera COI simple caso

Definido cuatro clases o interfaces en
1. Resorte montaje de los mismos anotación
2. Obtener una instancia de PC desde el BeanFactory
3. - Mouse conector USB1
4. - usb2 la conexión de un teclado


directorio del proyecto (sin necesidad de añadir manualmente las dependencias)

 


package com.newer.ioc1;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
/**
 * 电脑
 */
import org.springframework.stereotype.Component;

@Component
//单例
@Scope("singleton")
public class PC {

//	对象自动分配
	@Autowired
//	明确指定
	@Qualifier("mouse")
	 Usb usb1;
	
	@Autowired
	@Qualifier("keyboard")
	  Usb usb2;

	  void run() {
	    usb1.work();
	    usb2.work();
	  }
}

Usb.java

package com.newer.ioc1;
/*
 * Usb接口
 */
import org.springframework.stereotype.Component;

@Component
public interface Usb {
	 void work();
}

Mouse.java

package com.newer.ioc1;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/**
 * 鼠标
 */
import org.springframework.stereotype.Component;

@Component

public class Mouse implements Usb {

	@Override
	public void work() {
		
		System.out.println(this+"连接鼠标");
	}
	

	// 构造后运行
	@PostConstruct
	public void ready() {
		System.out.println("Mouse is Ready!");
	}
	
	// 销毁前运行
	@PreDestroy
	public void destory() {
		System.out.println("Mouse is Destory!");
	}

}

Keyboard.java

package com.newer.ioc1;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/**
 * 键盘
 */
import org.springframework.stereotype.Component;

@Component
public class Keyboard implements Usb {

	@Override
	public void work() {
		
		System.out.println(this+"连接键盘");
	}

	// 构造后运行
		@PostConstruct
		public void ready() {
			System.out.println("Keyboard is Ready!");
		}
			
		// 销毁前运行
		@PreDestroy
		public void destory() {
			System.out.println("Keyboard is Destory!");
		}
}

Ioc1Application.java

package com.newer.ioc1;


import org.springframework.beans.factory.BeanFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class Ioc1Application {

	public static void main(String[] args) {
		SpringApplication.run(Ioc1Application.class, args);
	}
	
//	命令行执行的方法
	@Bean
	public CommandLineRunner a(BeanFactory beanFactory) {
		return new CommandLineRunner() {
			
			@Override
			public void run(String... args) throws Exception {
//				从BeanFactory获得一个PC实例
				PC pc=beanFactory.getBean(PC.class);
				pc.run();
				
			}
		};
	}

	
	
}

ejecución de la consola:


¿Desea conocer amiguitos primavera COI puede ir a buscar en el blog anterior, el mensaje de bienvenida en cuestión! !

Publicados 119 artículos originales · ganado elogios 227 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_44364444/article/details/105379492
Recomendado
Clasificación