springboot中一些注解

1:项目启动时会去扫描启动的注解,一般是启动时就想要被加载的方法:

springboot注解日期参数校验_spring boot

2:springBoot中MSApplication启动类的一些其他注解:

springboot注解日期参数校验_java_02

  1. @EnableAsync:这是一个Spring框架的注解,它用于开启方法异步调用的功能。当我们在服务中使用此注解后,标记有@Async的方法将通过后台线程池执行,从而实现异步处理逻辑。
  2. @SpringBootApplication:这是Spring Boot的核心注解,它包含了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解的功能。其中,@Configuration表明这是一个配置类,可以定义bean;@EnableAutoConfiguration让Spring
    Boot根据类路径中的jar包依赖自动配置Bean;而@ComponentScan则用于指定自动扫描并加载符合条件的基础组件(如Service、Repository等)所在的包。
  3. @EnableFeignClients:在微服务架构中,该注解用于启用Feign客户端功能,Feign是一个声明式HTTP客户端,使得编写Web
    Service客户端更加简单易用。
  4. .** @EnableDiscoveryClient**:这个注解是Spring Cloud生态中的一部分,用来启用服务发现功能,配合Eureka、Consul等服务注册与发现组件,可以使应用能自动注册到服务中心,并发现其他服务实例。
  5. @EnableScheduling:用于启动基于注解的定时任务调度,带有@Scheduled注解的方法将在被此注解标注的类所在的Spring容器启动后按照设定的时间规则进行执行。
  6. . @EnableSwagger2:启用Swagger 2,这是一个强大的API文档生成工具,可以帮助我们自动生成RESTful API接口文档,方便前后端交互时查阅和测试API。
  7. . @ComponentScan(basePackages = {“com.cmcc.aa.", "com.aa.bd.koala.}):
    指定Spring容器要扫描的组件包,这里会扫描"com.cmcc.sop"及其子包以及"com.newland.bd.koala"及其子包下的所有带有@Service,
    @Component, @Repository或@Controller注解的类。
  8. @ServletComponentScan:用于激活Servlet组件扫描,比如带有@WebServlet、@WebFilter或@WebListener注解的类会被自动检测并注册到Spring容器。
  9. @EnableSwaggerBootstrapUI:这是一个对Swagger UI界面进行增强和定制的注解,用于替换默认的Swagger UI样式和交互方式,提供更友好的API文档展示界面。

3:一些杂谈 @Component 与@bean的区别

在Spring框架中,@Component 和 @Bean注解虽然都用于定义和管理Bean(组件),但它们的使用方式和应用场景有所不同:

  1. @Component: - 类级别的注解,用于标记一个类作为Spring容器中的一个Bean。 - 当Spring通过类路径扫描(component-scan)时,会自动检测到这个注解并将其实例化为一个Bean放入IoC容器中。 -
    常见的派生注解有:@Service, @Repository, @Controller,它们分别对应不同类型的组件。
  2. @Bean: - 方法级别的注解,通常出现在配置类(如@Configuration注解的类)的方法上。 - 使用@Bean注解的方法体负责创建并返回一个对象实例,这个对象会被注册为Spring IoC容器中的一个Bean。 -
    @Bean允许更细粒度地控制Bean的创建过程,比如方法可以接收参数,从而实现基于其他Bean或动态计算来创建新的Bean。 -
    与@Component自动扫描创建Bean的方式相比,@Bean提供了更加手动、灵活的bean定义方式,可以根据需要明确指定Bean的名称、生命周期等属性。
    总结来说,@Component 主要用于自动检测和实例化类成为Spring容器的Bean,而 @Bean
    则是在Java代码中显式地定义如何创建和配置Bean。