@Data:注在类上,提供类的get、set、equals、hashCode、toString等方法
@Component:单例模式,自动注册到Spring容器中,Spring容器启动时被实例化,Spring容器关闭时被销毁,通过@Autowired注入到其他组件中被使用
@Service:@Component派生注解,表示服务层组件,实现业务逻辑
@Controller:@Component派生注解,表示控制器类
@Repository:@Component派生注解,表示数据访问层(DAO)
@Configuration:@Component派生注解,表示配置类
@Bean:注解函数返回的对象,自动注册到Spring容器中
@Autowired:自动装配IOC容器中的对象
ElementType.CONSTRUCTOR:构造函数入参
ElementType.METHOD:成员函数入参
ElementType.PARAMETER:构造函数入参或成员函数入参
ElementType.FIELD:成员变量
ElementType.ANNOTATION_TYPE
@Lazy:延迟初始化,对象第一次被使用时初始化,解决循环引用
@PostConstruct:注解成员函数,该成员函数在所有@Autowired成员变量被注入之后再调用,调用顺序:Constructor >> @Autowired >> @PostConstruct
@Scope(value = "prototype")
singleton 单实例的(单例)(默认) ----全局有且仅有一个实例
prototype 多实例的(多例) ---- 每次获取Bean的时候会有一个新的实例
reqeust 同一次请求 ----request:每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效
session 同一个会话级别 ---- session:每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效
@ConfigurationProperties:对应配置文件