@Component简写

  1. package com.chentianyu.ba01;
  2. import org.springframework.stereotype.Component;
  3. /**
  4. * @Component: 创建对象的,等同于<bean>的功能
  5. * 属性: value 就是对象的名称,也就是<bean id>;所以value的值是唯一的;创建对象在整个spring容器中就一个
  6. * 位置: 在类的上面
  7. * @Component(value = "myStudent")等同于<bean id="myStudent" class="com.chentianyu.ba01.Student" />
  8. */
  9. //@Component(value = "myStudent")
  10. //省略value
  11. //@Component("myStudent")
  12. //不指定对象名称,有spring提供默认名称: 类名的首字母小写
  13. @Component
  14. public class Student {
  15. private String name;
  16. private Integer age;
  17. ....
  18. }

spring中和@Component功能一致,创建对象的注解还有

  • @Repository(用在持久层上面): 放在dao的实现类上,表示创建dao对象,dao对象是能访问数据库的。
  • @Service(用在业务逻辑层上面): 放在service的实现类上面,创建service对象是做业务处理,可以有事务等功能
  • @Controller(用在控制器上面) : 放在控制器(处理器)类的上面,创建控制器对象的;控制器对象能够接收用户提交的参数,显示请求的处理结果。

以上三个注解的使用语法和@Component是一样的,都能创建对象,但是这三个注解还有额外的功能。

当你的类不是以上三种,可以用**@Component**来创建对象