Spring bootブロッキングでserivceを注入できませんでしたautowiredに失敗しました
740 ワード
ここでは、2つの注釈を使用します. @Lazyと @Autowired
1、@Lazy
注記はspringフレームワークで、プロパティのデフォルト値はtrueの1つだけです.注釈を加えると、怠け者のロードが開きます.
import org.springframework.context.annotation.Lazy;
@Lazy
2、@Autowired
同じspringフレームワークの注記で、springコンテナ管理のBeanを自動的に注入します.
import org.springframework.beans.factory.annotation.Autowired;
説明:
@Autowired(required=true):
@Autowiredのデフォルトrequiredプロパティ値はtrueです.つまり、注入時にspringコンテナに初期化されている必要があります.そうしないと、注入に失敗し、プログラムがエラーを報告します.
@Autowired(required=false):
現在注入するbeanが存在しなくてもよいことを示し、直接注入があればスキップしない.
実際には何の役にも立たず、インターセプターで直接使うと、エラーも報告されます
解決:
@Lazyと @Autowiredを組み合わせて使用すると注入できます
1、@Lazy
注記はspringフレームワークで、プロパティのデフォルト値はtrueの1つだけです.注釈を加えると、怠け者のロードが開きます.
import org.springframework.context.annotation.Lazy;
@Lazy
2、@Autowired
同じspringフレームワークの注記で、springコンテナ管理のBeanを自動的に注入します.
import org.springframework.beans.factory.annotation.Autowired;
説明:
@Autowired(required=true):
@Autowiredのデフォルトrequiredプロパティ値はtrueです.つまり、注入時にspringコンテナに初期化されている必要があります.そうしないと、注入に失敗し、プログラムがエラーを報告します.
@Autowired(required=false):
現在注入するbeanが存在しなくてもよいことを示し、直接注入があればスキップしない.
実際には何の役にも立たず、インターセプターで直接使うと、エラーも報告されます
解決:
@Lazyと @Autowiredを組み合わせて使用すると注入できます
@Lazy
@Autowired
SysParamService sysParamService;