zoukankan      html  css  js  c++  java
  • Spring Boot

    • Spring等依赖注入框架的好处是,配置类或配置文件中指定的要依赖的都是接口,而不是类,这样可以在新需求中新增实现该接口的类进行扩展,而不需要修改旧的实现类;而如果直接用new的话那就一定要接触到具体实现类了。
    • @Autowired
      • 查找被注解的变量类型,找到所有此类型的构建或此类型子类的构建
      • 如果一个也没有找到,看required参数,false则用null,true则失败(默认,即spring会启动失败)
      • 如果仅找到一个,则装载这个构件
      • 如果找到多个,且只有一个有@Primary注解,使用Primary的
      • 如果不符合上述条件,失败(即spring会启动失败)
      • 如果构造函数的定义在config配置类中,那么必须包一致、返回类型一致、变量名一致,才能对应上,才能自动注入
    • @Qualifier
      • 用于复杂情况下和@Autowired参数一起用,都既可以用于标注在变量上,也可以标注于类定义上
      • 如果属性既有Autowired注解又有Qualifier注解,在构件中查找名字为Qualifier中指定的名字的注解
        • 在构件上指定名字(项目中要全局唯一)的两种方法
          • @Service("这里写名字")
          • @Qualifier("这里写名字")
    • @Configuration
      • 启动时就会注入??
      • @Configuration注解一般注解在这样的类上:这个类里面有@Value注解的成员变量和@Bean注解的方法,就是一个配置类。
      • @Configuration注解是说这个类是一个类似XML文件的配置类,里面用bean标签标记的方法需要被实例化到IOC容器中。在springboot中取消了XML文件并大量使用@Configuration注解的类实现配置。
    • @Component
      • 必须用此注解标注了,才能其他地方用@Autowired等方式进行注入
      • @Component注解的范围最广,所有类都可以注解
      • @Component注解是说这个类需要被组件扫描器扫描到并实例化对象到IOC容器
    • 注意
      • spring中凡是用@Service等注解标注的都是spring中的构件(Component?),可以使用注入
      • 可以使用@Autowired等方式注入的,必须是@Service、Component等标注的构件!
  • 相关阅读:
    table表框去掉相邻的间隔
    各种日期格式化返回
    校验金额、大小写字母、大写字母、合法uri、email
    vue js校验金钱、数字
    vue-router 动态添加 路由
    可视化-echarts流向图制作
    HTTP状态码
    二分查找
    编程语言的变量为啥不能是数字开头
    python位运算
  • 原文地址:https://www.cnblogs.com/wyp1988/p/10356096.html
Copyright © 2011-2022 走看看