@Component
@Component 相当于实例化类的对象,其他三个注解可以理解为@Component的子注解或细化。 在annotaion配置注解中用@Component来表示一个通用注释用于说明一个类是一个spring容器管理的类,此类将有spring扫描并加入容器参与IOC。即就是该类已经拉入到spring的管理中了。通过在 classpath 中通过自动扫描方式把组建纳入 spring 容器管理。加了@Component注解,表明这是一个逻辑组件,告知Spring要为它创建bean。相当于xml配置文件中的 的作用。
@Controller
用来表示一个web控制层bean,如SpringMvc中的控制器。
@Service
用来表示一个业务层bean。
@Repository
用来表示一个持久层bean,即数据访问层DAO组件。