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;
注解只负责完成属性的注入;
我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持