在 Spring 中,@Service@Repository@Controller@Component,分别用于业务层,持久层,控制层,比较中立的类进行注释。
对如下类注释进行解释:
@Service("courseDAO")
@Scope("prototype")
public class CourseDAOImpl extends HibernateDaoSupport implements courseDAO{......}
一:类似于@Service("courseDAO")...这里就是说把这个类交给 Spring 管理,更新名字叫courseDAO.如果由于不好说这个类属于哪层面,就用 @Component。
注意:在同一个工程下不能同时在标签中使用相同的重命名。
二:首先,在 applicationContext.xml文件中加一行:
<context : component-scan base-package = "com.hzhi.class"/>
加上这一行以后,将自动扫描路径下的包,如果一个类带了@Service注解,将自动注册到 Spring 容器,不需要再在applicationContext.xml 文件定义 bean 了,类似的还包括 @Component , @Repository , @Controller
其作用就相当于 applicationContext.xml 文件里面的。
<bean id="courseDAO" class="com.xdx.course.daso.CourseDAOImpl" scope="proptotype">
</bean>