实例一:
DiConfig 文件:
package di; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; //声明当前类是一个配置类 @Configuration //自动扫描包下的所有@Service,@Component,@Repository和@Controller注册为Bean; @ComponentScan("di") public class DiConfig { }
DFunctionService 文件:
@service相当于 singleton的scope
package di; import org.springframework.stereotype.Service; //注入:当前类是spring管理的一个bean
//相当于singleton的scope @Service public class DFunctionService { public String SayHello(String word) { return "Hello, " + word + " !"; } }
UseFunctionService 文件:
package di; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; //注入:当前类是spring管理的一个bean @Service public class UseFunctionService { //将DFunctionService类的实体Bean注入到UseFunctionService中,让UseFunctionService拥有DFunctionService的功能 //等效注解: @Autowire=@Inject=@Resource @Autowired DFunctionService functionService; public String SayHello(String word) { return functionService.SayHello(word); } }
Main 文件:
package di; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main { public static void main(String args[]) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DiConfig.class); UseFunctionService userFunctionService = context.getBean(UseFunctionService.class); System.out.print(userFunctionService.SayHello("word")); context.close(); } }
运行Main.java ,结果为 hello word