SpringBoot 注解小记
用于入口类的注解
SpringBootApplication标识该类是入口
ComponentScan表示扫描入口类同级和所有子包下的Component
我们也可以使用ComponentScan("Com.XXXX")自定义扫描路径
用于类的注解
@Component, @Service, @Repository, @Controller四个注解用于类上,后三个实质上都是Component包装的,注册类到当前容器,value属性就是BeanName,需要搭配ComponentScan使用
@Configuration注解用于类上,表示该类中声明了1个或者多个@Bean方法,Spring容器可以使用这些方法来注入Bean
用于成员变量的注解
@Autowired
用于方法的注解
@Bean用于方法之上表示该方法返回一个Bean,需要搭配@Configuration使用
Component和Bean的区别和联系
Component和Bean都是单例模式
都是用来注册对象到IOC容器中被自动管理
所谓的Bean其实就是一个个对象;@Bean注解表示通过该方法返回对象,那么有没有直接通过类获取对象的呢?那就是@Component,被该注解标注的类会被注册到当前容器,bean的id就是类名转换为小驼峰(变量名的首个单词首字母小写,后续的单词都是首字母大写,而大驼峰就是全大写)