springboot中各个注解以及其解释

注解
    测试类
        @Test 测试类中的方法用他修饰才能成为测试方法,才能启动执行
        @BeforeEach
修饰实例方法,会在每一个测试方法执行之前执行一次
        @AfterEach
修饰实例方法,会在每一个测试方法执行之后执行一次
        @BeforeAll
修饰静态方法,会在每一个测试方法执行之前只执行一次
        @AfterAll
修饰静态方法,会在每一个测试方法执行之后只执行一次
        @ParameterizedTest
参数化测试的注解(单个测试多次执行,仅参数不同)
        @ValueSource
参数化测试的参数来源,赋予测试方法参数

        @DisplayName
指定测试类测试方法显示的名称(默认类名、方法名)
    SpringBootWeb -三层架构
        运行测试
            @SpringBootApplication(启动类/引导类)-负责组件扫描
== 其集成了
            ·@ComponentScan (组件扫描)
                @ComponentScan注解是用来进行组件扫描的,扫描启动类所在的包及其子包下所有被@Component及其衍生注解声明的类。
            ·@Import (导入)导入的类会被Spring加载到IOC容器中
            @Enable**** 
·Enable开头的注解中会指定那些要导入的bean对象或配置类
            @SpringBootConfiguration (标识当前的类是一个配置类)
                @SpringBootConfiguration注解上使用了@Configuration,表明SpringBoot启动类就是一个配置类。
                @Indexed注解,是用来加速应用启动的(不用关心)。
            
                
            - @EnableAutoConfiguration
  - 封装了@Import注解(Import注解中指定了一个ImportSelector接口的实现类)
        @Conditional (按一定条件判断,满足条件的bean对象才会被注册到Spring的IOC容器中)
其本身是一个父注解,派生了很多子注解
                ·ConditionalOnClass(判断环境中有对应的字节码文件,才注册到IOC容器中)
                ·ConditionalOnMaissingBean(判断环境中有没有对应的bean)
                ·ConditionalOnProperty(判断配置文件中有对应的属性和值)
        三层架构
            解耦思想
(控制反转:IOC)
(依赖注入:DI)
(bean对象:IO容器中创建管理的对象)
            @Component 声明bean的基础注解
            · @Respository -标注在数据访问层类上(与mybatis整合)
            @Autowired 按照类型自动装配(去IOC容器中找某个类型的对象,然后完成注入操作)
            @Primary (存在多个相同类型的Bean时,默认实现)
             @Qualifier(指定当前指定要注入的bean对象,不能单独使用必须配合@Autowired使用)
            @Resource(按照bean的名称注入)
            控制层(Controller)
                @RestController (标识当前类是一个请求处理类)
                @ResponseBody(@RestController的底层由它和@Controller组成)
将方法返回值直接响应給浏览器,如果返回值是实体对象/集合,会将其转换为Json格式后响应给浏览器
                @GetMapping 查询
                @PostMapping 新增
                @PutMapping 修改
                @DeleteMapping 删除
                @RequestMapping (标识请求路径)
                @RequestBody 接收前端传过来的对象
                @RequestParam(defaultValue="默认值")//设置请求参数默认值
                @PathVariable 获取路径参数(路径名与形参名相同,value可以忽略)
            业务逻辑层(Service)
                @Service
== 处理从Dao层调用的数据 ==
                @Transactional 开启事务
                @Transactional(rollbackFor = Exception.class)开启事务,可以指定参数
            数据访问层(Dao)
                @Mapper
== 操作文件中的数据 ==
                数据的增删改查
                    @Select 查询
                    @Delete 删除
                    @Insert 增加
                    @UpDate 修改
                @Options(useGeneratedKeys=true,KeyProperty="id")
主键返回,主要用于在两张表上保存信息
                @Mapkey("指定返回主键的形参名")
                前后端不一致,手动映射结果
@Results({@Result(column = "create_time",property="createTime"),
          @Result(column = "update_time",property = "updateTime")})
            实体类 
== 用于接收前后端数据 ==
!!! 命名时前后端尽量保持一致 !!!
                @Data 
重写get/set方法,HashCode/Equals方法
                @NoArgsConstructor (无参构造器)
                @AllArgsConstructor (有参构造器)
    日志
        @Slf4j 日志注解
    全局异常处理器
        @RestConlerAdvice (标识目前类为全局异常处理器)
        @ExceptionHandler (指定可以捕获那种类型的异常进行处理)
    过滤器(Filter)·拦截器(Interceptor)
        过滤器(Filter)
            @ServletComponentScan(开启对Servlrt组件支持)加在启动类上
            @WebFilter(urlPatterns ="/*")
配置过滤器的请求路径,/*表示拦截所有
        拦截器(Interceptor)
            @Configuration(标识声明一个配置类)
    AOP(面向切面编程)
        @Aspect (标识:当前类为切面)
        @Around (环绕通知)
标注的通知方法在目标方法前后都执行
        @Before (前置通知)
标注的通知方法在目标方法前执行
        @After(后置通知)
标注的方法在目标方法后执行,无论是否有异常都执行
        @AfterReturning (返回后通知)
标注的通知在目标方法后执行,有异常不会执行
        @AfterThrowing (异常后通知)
标注的通知在异常发生后执行
        @PointCut(将公共的切入点表达式抽取出来)
        @Oder  ==(切面的执行顺序)
        @annotation(自定义注解)
在需要记录日志的方法上添加(自己定义的注解)就可以记录日志了
    Bean的管理
        singleton(单例)
            @Scope("prototype") bean的作用域为非单例
每一次使用该bean的时候都会创建一个新的实例
            @Bean
用来声明第三方依赖中的类
            - 默认singleton的bean,在容器启动时被创建,可以使用@Lazy注解来延迟初始化(延迟到第一次使用时)
    测试类
        @SpringBootTest是 Spring Boot 提供的一个测试注解,主要用于集成测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值