spring boot 初步 IOC实现-2

FunctionService:业务类(注意:没有@Service注解)

package bw.swn.boot.service;
public class FunctionService {

	 public String sayHello(String name) {
		 return "Hello "+name+" !";
	 }
}

UseFunctionService:调用类

package bw.swn.boot.service;
public class UseFunctionService {
	
	 private FunctionService functionService;
	 
	 public FunctionService getFunctionService() {
		return functionService;
	}

	public void setFunctionService(FunctionService functionService) {
		this.functionService = functionService;
	}

	public void show(String name) {
		  System.out.println(this.functionService.sayHello(name));
	 }
}

 IocConfig:装配类(这里@Bean注解的作用是完成对象创建,注意其方法的名称就是返回值)

package bw.swn.boot.service;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class IocConfig {

	@Bean
	public FunctionService functionService() {
		return new FunctionService();
	}
	@Bean
	public UseFunctionService useFunctionService() {
		UseFunctionService useFunctionService=new UseFunctionService();
		useFunctionService.setFunctionService(functionService());
		return useFunctionService;
	}
}

 启动测试类:

package bw.swn.boot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import bw.swn.boot.service.IocConfig;
import bw.swn.boot.service.UseFunctionService;

@SpringBootApplication
public class SpringIocApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringIocApplication.class, args);
		AnnotationConfigApplicationContext ctx=
				new AnnotationConfigApplicationContext(IocConfig.class);
		UseFunctionService use=ctx.getBean(UseFunctionService.class);
		
		use.show("spring boot");
		ctx.close();
	}

}

输出结果:

猜你喜欢

转载自blog.csdn.net/tonysong111073/article/details/88218826