spring boot: scope (一般注入說明(一) @Autowired注解)


實例一:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM