1.常用的四种注解
1.@Component:把普通的类实列化到spring容器中
2.@Repository:注解接口,value属性值为该接口类的实现类
用在持久层,标注 DAO 类,表示这个类可以对数据库进行数据的读取或者写入。
3.@controller 控制器(注入服务)
用于表现层,对来自前端的请求进行转发处理与重定向。
4.@service 服务(注入dao)
用在业务层,用来处理业务逻辑。
@controller 、@service、@repository上面三种与@component 注解作用都是一样的,都是为了把bean注入容器,,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。该四种注解如果不指定属性值值的话,默认值即为他标注的类的首字母小写的名字
2.@Autowired与@Resource的区别
@Autowired与@Resource是一个注释,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作
@Autowired:是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier使用;当同时有多个同类型的bena的话必须配合@Qualifier注解使用,不使用就会报错。这个注解属于spring
常用情况:一般写在属性或者set方法上
@Resource:@Resource有两个属性,分别是name,type。分别是指定是按照名字还是类型进行装配。当两个属性都不设置是自动按照name来进行装配
常用情况:将resource写在类或者接口的实现类上,而不是直接写在接口上。让spring容器管理的意思就是你想要实例化该类的时候,spring会自动帮你创建对象。这个注解属于java