spring security 3.1中spring注入的问题
配置如下
1. 先是action
//这样注入方便ajax在前台直接与action交互@Action(value = "teacherManagerAction")public class TeacherManagerAction extends BaseAction { ...... //这里假如我用的是get/set方法得到teacherService,是无法成功注入service的 //至于为什么,有待研究.. @Autowired private ITeacherService teacherService; ......}2. 然后是service层
//类似方式的注入,也可以是 @Service,但是如果你的spring配置文件中有对service的bean配置,那就只能@Service("...")里面是配置的bean的id值@Service("teacherService")public class TeacherServiceImpl extends BaseServiceImpl implements ITeacherService { ...... // 同样这里不能用get/set方法 @Autowired private ITeacherDao teacherDao; ......
}
3. 最后dao层
//这里因为我继承了HibernateDaoSupport,所以在spring配置文件中配置dao对应的bean //所以只能这么写 @Repository("teacherDao") @Repository("teacherDao") public class TeacherDaoImpl extends HibernateDaoSupport implements ITeacherDao {4. 最后是配置文件
<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://www.springframework.org/schema/security"xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd "> <!-- 以上不一定要全部一样 context的几个是要的 --> <!-- spring 注解注入的配置 --> <context:annotation-config /><context:component-scan base-package="com.kcsj.dao.impl"> <context:include-filter type="regex"expression=".*DaoImpl" /></context:component-scan><context:component-scan base-package="com.kcsj.service.impl"><context:include-filter type="regex"expression=".*ServiceImpl" /></context:component-scan> ......