静的クラスへのプロキシであるサービスをautowireしようとしています。春は協力しておらず、何が間違っているのかを示すものではありません。サービスまたはスロー例外をスローしないSpring
私は見ることができます:
方法は、 'org.springframework.beans.factory.BeanCreationException' 例外をスローしました。変数を評価しようとすると、デバッガでcom.domain.services.SessionService $$ EnhancerBySpringCGLIB $$ f94406f3.toString()
を評価できません。
私は私のコントローラのユーティリティクラスを持っている:
アプリケーションの起動時にpublic class ControllerUtil {
private static SessionService sessionService;
public ControllerUtil(SessionService sessionService) {
this.sessionService = sessionService;
}
私は静的クラスにsessionServiceを追加しよう。セッションサービスはセッションスコープにありますので、ここでプロキシを追加しようとしています。
@Configuration
public class BeanConfig {
@Autowired
SessionService sessionService;
@PostConstruct
private void initStaticClasses() {
/*
* Need to add proxy to controller utils
* */
new ControllerUtil(sessionService);
}
最後に私のSessionServiceクラス:
@Service
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class SessionService {
@Autowired
BusinessDAO businessDAO;
Business business = businessDAO.getBusinessById("1");
public SessionService() {
System.out.println("New session service");
}
私はただのdevの目的のためにビジネスにハードコードしようとしています。
春はどこかで失敗しているはずですが、ログに何も戻ってこないし、デバッグが本当に助けにはなりません。
誰でも私が間違ったことをアドバイスできますか?
ありがとう
に以下を追加し、私も言及する必要があります...それはこのBeanを作成することができないので、春はSessionServiceコンストラクタを呼び出すことはありません。それでもログに「シングルトンBeanのキャッシュされたインスタンス 'SessionService'を返す」と表示されます – FMC
そのサービスパッケージに '@ ComponentScan'がありますか? –
@ HithamS.AlQadheebはい私はそれを試みました - それは仕事をしませんでした。コンポーネントスキャンを行わなくても、同じパッケージに他のサービスを正常に作成できます。 – FMC