zoukankan      html  css  js  c++  java
  • 【Java Web开发学习】Spring 注解

    【Java Web开发学习】Spring 注解

    ===================================================================

    1、@ComponentScan 组件扫描

    2、条件

    ===================================================================

    1、@ComponentScan 组件扫描

    value 等价与 basePackages
    value = "cn.ycx.web"
    basePackages = "cn.ycx.web"

    value 等价与 classes
    excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, value={org.springframework.stereotype.Controller.class} )}
    excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {cn.ycx.web.BeanUtils.class})}

    2、条件

    当 MyAutoConfig 类存在时创建Bean
    @ConditionalOnClass(MyAutoConfig.class) // 不写是value
    @ConditionalOnClass(name = "ycx.demo.config.MyAutoConfig")// 注意是全限定类名

    当 MyAutoConfig 类不存在时创建Bean
    @ConditionalOnMissingClass("ycx.demo.config.MyAutoConfig")

    当 MyAutoConfig 对象存在时创建Bean
    @ConditionalOnBean(MyAutoConfig.class) // 不写是value
    @ConditionalOnBean(name = "myAutoConfig") // bean 的名称默认类名第一个字母小写或者是自定义的名字

    当 MyAutoConfig 对象不存在时创建Bean
    @ConditionalOnMissingBean(MyAutoConfig.class) // 不写是value
    @ConditionalOnMissingBean(name = "myAutoConfig") // bean 的名称默认类名第一个字母小写或者是自定义的名字

    配置类
    @ConfigurationProperties(prefix = "aliyun")
    public class AliyunConfig {}

    @Configuration
    @EnableConfigurationProperties(AliyunConfig.class)
    @ConditionalOnProperty(prefix = "aliyun", name = "enabled", havingValue = "true")
    public class AliyunAutoConfig {
    }

  • 相关阅读:
    变量的解构赋值
    vue-progressbar 知识点
    <script>标签里的defer和async属性 区别(待补充)
    管理node.js版本的模块:n
    node 知识点
    让node支持es模块化(export、import)的方法
    jvm 知识点
    前端 术语
    js的严格模式
    commonJS、AMD、es模块化 区别(表格比较)
  • 原文地址:https://www.cnblogs.com/yangchongxing/p/13631957.html
Copyright © 2011-2022 走看看