易筋SpringBoot 2.1 | 第十九篇:SpringBoot的常用注解

写作时间:2019-08-19
Spring Boot: 2.1 ,JDK: 1.8, IDE: IntelliJ IDEA

说明

Spring核心技能有两个,Inversion of Control(IOC)控制翻转,Aspect-oriented Programming (AOP) 切面编程。

  1. 其中IOC也叫dependency injection (DI)依赖注入。也就是初始化对象叫做Bean不需要自己new出来,交给框架的Factory自动生产即可。
    org.springframework.beansorg.springframework.context 这两个packages 是Spring Framework’s IoC 的基础容器container. BeanFactory interface接口提供了高级配置机制,使可以管理任何类型的对象object. ApplicationContext是BeanFactory的子接口.
    IOC 图解
  2. AOP的思想一就是模块化所有的类,这样子有个好处就是你可以按需加载项目需要的组件。思想二就是可以给方法前面,中间,后面增强功能。

现在都是用注解来配合处理。所以这节就复习常用的注解。

Java Config 相关注解

  1. @Configuration
    标明当前类为配置类
  2. @ImportResource
    把XML的文件配置信息注入进来
  3. @ComponentScan
    告诉整个Spring的容器,我里面可以扫描哪些package下的Bean配置
  4. @Bean
    在Java @Configuration的类当中,如果方法被标注为@Bean, 它的返回就可以当做Spring的配置,存在于 ApplicationContext
  5. @ConfigurationProperties
    key=value的配置文件的信息,读取并自动封装成实体类。

Bean定义相关注解

  1. @Component
    所有Java Bean都可以通过Component来定义,在类上面定义即可。
  2. @Repository
    标识数据库访问层的Bean
  3. @Service
    标识服务层的Bean
  4. @Controller
    Web层的Bean
  5. @RestController
    Restful的Bean,由@Controller,@ResponseBody组合而成
  6. @RequestMapping
    定义方法是在访问url下面相应的

Bean注入相关注解

  1. @Autowired
    按照类型进行查找注入进来
  2. @Qualifier
    在整个上下文当中,有多个同类型的Bean,指定Bean不同的名字来注入。需要配合@Autowired使用
  3. @Resource
    指定Bean不同的名字来注入,单独使用即可,不需要@Autowired。
  4. @Value
    在Bean中注入一些常量,或者配置中的信息。

Lombok / Log

Project Lombok 能够自动嵌入IDE和构建工具,提升开发效率

常用功能

  1. @Getter / @Setter
    自动生成Getter, Setter
  2. @ToString
    把所有属性生成一个String
  3. @NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor
    生成构造方法
  4. @Data
    包含@Getter / @Setter 和 @ToString
  5. @Builder
    帮助生成构造方法
  6. @Slf4j / @CommonsLog / @Log4j2
    日志输出

pom.xml add dependency

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <version>1.18.8</version>
   <scope>provided</scope>
</dependency>

参考

https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#spring-core

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值