首页 > 其他分享 >Spring&SpringBoot常用注解总结

Spring&SpringBoot常用注解总结

时间:2022-11-15 10:22:58浏览次数:67  
标签:SpringBoot Spring SpringBootApplication bean 注解 Configuration

title: Spring&SpringBoot常用注解总结
date: 2022-11-15 09:11:45
tags:

1. @SpringBootApplication

这里先单独拎出@SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它。

这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。

@SpringBootApplication
public class SpringSecurityJwtGuideApplication {
      public static void main(java.lang.String[] args) {
        SpringApplication.run(SpringSecurityJwtGuideApplication.class, args);
    }
}

我们可以把 @SpringBootApplication看作是 @Configuration@EnableAutoConfiguration@ComponentScan 注解的集合。

package org.springframework.boot.autoconfigure;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
		@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
		@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
   ......
}

package org.springframework.boot;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {

}

根据 SpringBoot 官网,这三个注解的作用分别是:

  • @EnableAutoConfiguration:启用 SpringBoot 的自动配置机制

  • @ComponentScan: 扫描被@Component (@Repository,@Service,@Controller)注解的 bean,注解 默认 会扫描该类所在的包下所有的类。从定义扫描的路径中找出标识了需要装配的类,自动装配到spring的bean容器中

    https://www.cnblogs.com/jpfss/p/11171655.html

  • @Configuration:声明一个类为配置类,用于取代bean.xml配置文件注册bean对象。

    @Configuration注解常常一起搭配使用的注解有@Bean、@Scope、@Lazy三个比较常见:

    • @Bean:等价于Spring中的bean标签用于注册bean对象的,内部有一些初始化、销毁的属性…
    • @Scope:用于声明该bean的作用域,作用域有singleton、prototype、request、session。
    • @Lazy:标记该bean是否开启懒加载。

    https://blog.csdn.net/weixin_43808717/article/details/118155699

如下面图片,这里只设置读取ConfigService类所在包的所有组件,但是最终输出也有mainConfig,是因为该注解作用于MainConfig类,默认会扫描config包。

image-20220220195322567

所以,包的路径扫描是多种设置累加的结果


标签:SpringBoot,Spring,SpringBootApplication,bean,注解,Configuration
From: https://www.cnblogs.com/stdxiaozhang/p/16891333.html

相关文章

  • Spring版本命名规则
    1常见软件的版本命名常见软件的版本命名举例如下表所示。软件升级过程说明LinuxKernel0.0.11.0.02.6.323.0.18若用X.Y.Z表示,则偶数Y表示稳定版本,奇数Y表示开发版......
  • Java注解与原理分析
    目录一、注解基础二、注解原理三、常用注解1、JDK注解2、Lombok注解四、自定义注解1、同步控制2、类型引擎五、参考源码使用的太多,被忽略的理所当然;一、注解基础注解......
  • 记录关于spring事务的两个坑
    一,调用本地方法时,事务不起作用。   原因:事务能生效的原因是spring对事务的对象做了动态代理,这里默认的是用this(目标对象)调用方法,所以没有事务功能。需要拿到事务......
  • 【Java】Springboot + Redis + AOP切面实现字典翻译
     使用案例演示:先开发了一个简单的Demo:普通DTO类注解翻译的字段和翻译来源  在需要翻译的方法上注解@Translate  接口返回结果:  框架思路:1、标记的......
  • 重新认识Spring Boot
    SpringBoot的特性方便的创建可独立运行的Spring应用程序直接内嵌Tomcat、Jetty或Undertow简化了项目的构建配置为Spring及第三方库提供自动配置提供生产级特性无需生成代......
  • Spring--依赖注入:setter注入和构造器注入
    依赖注入:描述了在容器中建立Bean于Bean之间依赖关系的过程setter注入在本来已经在service里面引用了bean的相关方法的基础上,再引用之前已经写过的userDao的对象,即在servi......
  • springAop的实现方式
    AOP的三种实现方式AOP是Spring中继IOC(面向切面编程)后又一十分重要的概念。AOP,即面向切面编程。使用AOP可以实现在不改变原有的业务逻辑的代码的情况下,在系统上增加一些特殊......
  • Spring--Bean的生命周期
    Bean的生命周期对于生命周期来说,每个对象都会有起初的初始化和最后的销毁,Bean也不例外;Bean的生命周期可以简述为:Bean的定义--Bean的初始化--Bean的使用--Bean的销毁所以......
  • Spring学习笔记(2)实现 Bean 的定义、注册、获取
    代码目录结构small-spring-step-02└──src├──main│└──java│└──cn.bugstack.springframework.beans│├─......
  • JPA注解
    JPA注解TableTable用来定义entity主表的name,catalog,schema等属性。元数据属性说明:name:表名,默认为类名catalog:对应关系数据库中的catalogschema:对应关系数......