注解开发
使用@Component,@Service,@Controller,@Repository注解的类,表示把这些类纳入到spring容器中进行管理,同时也是表明把该类标记为Spring容器中的一个Bean。
@Component
标注Spring管理的Bean,使用@Component注解在一个类上,表示将此类标记为Spring容器中的一个Bean。
@Component("bookDao")
// 相当于<bean id="bookDao" class="com.abc.def.impl.BookDaoImpl">
public class BookDaoImpl implements BookDao {
}
@Component
// 相当于<bean class="com.abc.def.impl.BookDaoImpl">
public class BookDaoImpl implements BookDao {
}
在配置中引入component的扫描组件
<!-- <context:component-scan base-package=”com.abc.def.impl”> -->
<context:component-scan base-package=”com.abc”>
其中base-package为指定需要扫描的包(含所有子包) ,扫描被@Service、@Controller、@Repository、@Component等注解标注的Java类,将其扫描注入到Spring容器,注入成Bean:
@Component衍生注解
?功能其实与@Component一样
- @Service用于标注 业务层组件
- @Controller用于标注 控制层组件(如struts中的action)
- @Repository用于标注 数据访问组件,即DAO组件
- @Component泛指 组件,当组件不好归类的时候,我们可以使用这个注解进行标注,标识为一个Bean