当前位置: 首页 > news >正文

南京网站c建设云世家网站建设丨找王科杰信誉

南京网站c建设云世家,网站建设丨找王科杰信誉,网站建设的目的及效益分析,页面设计器翻译成英文其实理解一个注解就行了@SpringBootApplication,我们的启动类其实就加了这一个 但是这么答也不行,因为面试官要的答案肯定不止这一个 我们打开SpringBootApplication的源码,会发现上面加了一堆的注解 相对而言比较重要是下面三个…

其实理解一个注解就行了@SpringBootApplication,我们的启动类其实就加了这一个

但是这么答也不行,因为面试官要的答案肯定不止这一个

我们打开SpringBootApplication的源码,会发现上面加了一堆的注解

相对而言比较重要是下面三个,但是ComponentScan这个是SpringContext里本身带的并不是SpringBoot引入的,这个注解的作用是

扫描含有特定注解的类:@ComponentScan能够扫描指定包及其子包中所有使用@Component、@Service、@Repository、@Controller等注解的类,并将这些类实例化为Bean,注册到Spring容器中。这意味着开发者可以在需要的地方通过自动装配(如@Autowired)直接使用这些Bean,而无需手动创建。
扫描含有@Configuration的类:除了扫描注解Bean外,@ComponentScan还能扫描含有@Configuration的类,并使其配置生效。这允许开发者将配置类也纳入Spring容器的管理范围。

我们再解释一下其他两个注解的作用

(1)SpringBootConfiguration注解

@SpringBootConfiguration的代码如下

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
@Indexed
public @interface SpringBootConfiguration {@AliasFor(annotation = Configuration.class)boolean proxyBeanMethods() default true;
}

这个注解的其实主要的就是引入了一个Configuration的注解,SpringBoot启动类加SpringBootConfiguration这个的作用基本上等同于加了个@Configuration注解,表示当前SpringBoot的启动类也是一个配置类

(2)EnableAutoConfiguration注解

主要的代码逻辑如下

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {/*** Environment property that can be used to override when auto-configuration is* enabled.*/String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";/*** Exclude specific auto-configuration classes such that they will never be applied.* @return the classes to exclude*/Class<?>[] exclude() default {};/*** Exclude specific auto-configuration class names such that they will never be* applied.* @return the class names to exclude* @since 1.3.0*/String[] excludeName() default {};}

我们重点看最后一个,它使用@Import注解导入了一个AutoConfigurationImportSelector.class

这个是SpringBoot实现自动配置的最重要的类,它用来加载classpath下spring.factories中所定义的自动配置类,将这些类自动加载为配置Bean

(3)ConditionalOnXXX系列注解

@ConditionalOn开头的注解在Spring Boot中非常常见,它们提供了一套丰富的条件化配置机制,允许开发者根据特定的条件来控制配置类或Bean的创建。这些注解基于@Conditional元注解实现,通过内部定义的Condition接口来判断条件是否满足

主要有以下几种:

1. @ConditionalOnBean

  • 作用:当指定的Bean存在时,条件成立,将创建当前Bean或激活当前配置类。

2. @ConditionalOnMissingBean

  • 作用:当指定的Bean不存在时,条件成立,将创建当前Bean或激活当前配置类。

3. @ConditionalOnClass

  • 作用:当类路径上存在指定类时,条件成立,将激活当前配置类。

4. @ConditionalOnMissingClass

  • 作用:当类路径上不存在指定类时,条件成立,将激活当前配置类。

5. @ConditionalOnProperty

  • 作用:当指定的配置属性具有特定的值时,条件成立,将创建当前Bean或激活当前配置类。

6. @ConditionalOnExpression

  • 作用:当指定的SpEL(Spring Expression Language)表达式的结果为true时,条件成立,将创建当前Bean或激活当前配置类。

这个其实一共应该有14种,其他的不太常用。

http://www.yayakq.cn/news/494144/

相关文章:

  • 怎么自己网站建设wordpress自动清缓存
  • 网站建设者属于广告经营者吗thinphp 做外贸网站
  • 沃尔玛官方网站查余额微信如何建网站
  • 贵州萝岗seo整站优化泊头网站排名优化
  • 外贸搜素网站呼伦贝尔旅游包车网站咋做
  • 应聘网站建设工程师深圳网站建设黄浦网络 骗子
  • 建设企业网站前市场分析个人可以备案哪些网站
  • 在线探测网站开发语言东莞营销网站建设优化
  • 网站空间买什么的好网站是公司域名是个人可以
  • 沧州企业网站建设方案源码库官网
  • 哪个网站做欧洲旅游攻略好深圳黄页企业联系方式
  • 建设网站个人简介范文免费网站模板带后台下载
  • 网站建设推广服务wordpress迁hexo
  • 宁波h5建站杭州滨江网站开发
  • 莱州网站建设公司设计网站公司 露 联湖南岚鸿
  • 网站推广营销策略静态网站开发课程
  • 太原网站建设设计免费外链平台
  • 前程无忧网广州网站建设类岗位智慧团建网页手机版官网
  • 网站手机端做排名wdcp新建网站
  • 一般网站是用什么框架做的wordpress 相册 主题
  • 厦门网站建设和人才库建设自动发货 wordpress
  • 开源企业建站系统php樟树网站制作
  • 自动化科技产品网站建设宿迁网站建设哪家专业
  • 做网站要学一些什么公司的网站建设做什么费用
  • 网站开发 定制 合同范本新乡 网站运营
  • 母婴的网站建设教育类的网站方案
  • 青岛济南网站制作网站编辑制作
  • 网站建设推广邮件wordpress搜索页自定义
  • 快速搭建网站python哪个应用市场软件最全
  • 公司请做网站济南软件公司排名