Spring注解


@Component注解

以往我们在beans.xml文件中需要用bean来创建对象,在引入了


自动扫描之后,spring会自动帮助导入beans
//等价于
//@Component 组件

package com.jiwei.pojo;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Data
@Component
public class Client {
    @Value("john")
    private String name;
}

关于@Value这个注解

来设置值,可以在set方法上面@Value或者在属性上@Value

@Component注解的衍生

@Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层!

dao 【@Repository】
service 【@Service】
controller 【@Controller】

这四个注解功能都是一样的,都是代表将某个类注册到Spring中,装配Bean

自动装配注解

@Autowired:自动装配通过类型,名字。如果Autowired不能唯一自动装配上属性,则需要通过@Qualifier(value = "xxx")去配置。
@Nullable 字段标记了了这个注解,说明这个字段可以为null;
@Resource:自动装配通过名字,类型。

作用域

@Scope

@Scope("singleton")

小结

xml与注解:
xml更加万能,适用于任何场合!维护简单方便
注解不是自己类使用不了,维护相队复杂!
xml与注解最佳实践:
xml用来管理bean;
注解只负责完成属性的注入;
我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持