私は春が初めてのので、どのように動作するのか理解しようとしています。私は、休止状態のフレームワークを管理するためのスプリングを使用した簡単なサーブレットプロジェクトを開発しました。サービススプリングでNullPointerExceptionが発生する
私はサービス
@Service("service")
@Transactional
public class CdServiceImpl {
@Autowired
private HibernateUtility hibernateutility;
public int saveCd(CD cd) {
return hibernateutility.saveCd(cd);
}
public List getCd(String searchedCd) {
return hibernateutility.getCd(searchedCd);
}
public List getAllCd() {
return hibernateutility.getAllCd();
}
public void deleteCd(int id) {
hibernateutility.deleteCd(id);
}
public User getUser(String username, String password) {
return hibernateutility.getUser(username, password);
}
}
を持っている。そして、私はそれが動作しますが、私は2つの質問があります)
context.scan("it.project");
context.refresh();
CdServiceImpl service = (CdServiceImpl) context.getBean("service");
context.register(ApplicationContextConfig.class);
context.refresh();
1のサーブレットでそれを使用しています。それは正しい方法ですか? 2)私のようなサーブレットでフィールドを設定しようとしました:
@Autowired
private CdServiceImpl service
、その後、私はcontext.scan ECC部分を除去し、それは私にはNullPointerExceptionを与えました。どうして?
は、それが動作しませんなぜ私はまた、新しいBean
@Bean
public CdServiceImpl getCdServiceImpl() {
return new CdServiceImpl();
}
を定義したことを行いますか?これはノブの質問かもしれないことは知っているかもしれませんが、私は春の仕組みを理解しようとしています
あなたがSpringファイルで定義を提供していない場合、新しいキーワードを使用して初期化する必要があります。 – Nimesh
(私は注釈を使用しています)私の設定ファイルでは、Beanを定義しました!私の質問の最後の行を参照してください – untruste
1.それはないです。 2.サーブレットは春には管理されないため、依存関係を注入することはできません。 –