1
我已經定義了一個類,它用@Configuration和定義的方法init對其進行了註釋,並使用註釋@Bean對其進行了定義,但是當我嘗試使用自動連接訪問該bean時,它給了我一個錯誤 一些在應用程序上下文豆的依賴形成一個循環:無法在彈簧啓動時定義bean
┌─────┐
| Sum defined in class path resource [com/example/Application/Appconfig.class]
@Configuration
@EnableAutoConfiguration
public class Appconfig {
@Bean
public int Sum(int a,int b){
int c=a+b;
return c;
}
我的控制器類
@Autowired
Appconfig appconfig;
@PostMapping(value = "/api/{id1}/{id2}")
public void math(@PathVariable int id1,@PathVariable int id2){
appconfig.Sum(id1,id2);
System.out.println(id1);
System.out.println(id2);
System.out.println(appconfig.Sum(id1,id2));
}
錯誤
The dependencies of some of the beans in the application context form a cycle:
┌─────┐
| Sum defined in class path resource [com/example/Application/Appconfig.class]
└─────┘
關於在類中放棄'@ Configuration'和'@ Bean'沒有什麼「正確的」,在Boot Boot中定義bean在應用程序引導類中被認爲是不好的做法。 (在非常緊湊的例子中,添加一個嵌套類。) – chrylis
@chrylis我同意。我將它添加到答案 – xenteros
「@ Configuration」是一個特殊的bean,它被註釋爲@ @ Component(元註釋)。 'AppConfig'是一個bean,可以注入 –