實例一:
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
