spring注解方式在一个普通的java类里面注入dao

2024-11-28 10:41:35
推荐回答(4个)
回答(1):

不知道你说的“普通的java类”是什么。
在spring里要注入的话,相应的类都要纳入spring的管理,对象由spring创建,对象从spring获取。就像你上面的BaseDaoImpl和BaseServiceImpl。
如果UserCarManager也是由spring管理的话,那同样适用@autowired就可以注入。
看你的提问,应该是指没有纳入spring管理的类如何注入spring管理的对象,这种情况可以用srping相关的静态方法达到目的。
比如:
WebApplicationContext webAppContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
BaseDaoImpl baseDao = (BaseDaoImpl) BeanFactoryUtils.beanOfTypeIncludingAncestors(webAppContext, BaseDaoImpl.class);

回答(2):

@Component
public class UseCarmanager implements AssignmentHandler {
@Autowired
public BaseDao baseDao;
}

在spring的配置文件里要配置 base-scan 包含 UseCarManager的包路径。

回答(3):

在类里面这样写。

public class UseCarManager implements AssignmentHandler {

private BaseDao baseDao;

public void setBaseDao(BaseDao baseDao){
this.baseDao = baseDao;

}

public BaseDao getBaseDao(){
return baseDao;

}

}

=======================================
然后你在spring的配置文件里,将BaseDaoImpl 配置给BaseDao 即可

回答(4):

你应该把spring配置也贴出来,光这样,看不出来个撒子