Spring @ AutowiredはDaoを自動的に挿入してnullを取り出します

これを引き起こす状況。

@Service
public class Test {
	@Autowired
	UserDao userDao;
	public int getCoins() {
		return userDao.getCoins(1);
	}
	public static void main(String[] args) throws SQLException {
		Test test=new Test();
		System.out.println(test.userDao);
		System.out.println(test.getCoins());
	}
}

この場合、iocコンテナーはDaoに注入されないため、出力は空です。上記のコードに関する限り、Testクラスはnewでインスタンスを取得できませんが、iocで取得する必要があります。
に変更

	ApplicationContext ioc=new ClassPathXmlApplicationContext("ApplicationContext.xml");
		Test bean = ioc.getBean(Test.class);
		System.out.println(bean.userDao);
		System.out.println(bean.getCoins());
21件のオリジナル記事を公開しました ・いい ね0です 訪問721

おすすめ

転載: blog.csdn.net/D1124615130/article/details/104436655