Springboot

配置优先级(由高到低)

命令行参数 > Java系统属性 > properties文件 > yml文件 > yaml文件

Bean管理

  1. 获取bean
  • 默认情况下, Spring项目启动时, 会把bean都创建好放在IOC容器中, 如果想要主动获取bean, 可以通过IOC容器的对象来调用相关方法
  • 上述所说 [Spring项目启动时, 会把bean都创建好放在IOC容器中] 指的是默认情况, 单例非延迟加载的bean, 具体什么时候创建bean还跟bean的作用域有关
        //根据bean的名称获取
        DeptController bean1 = (DeptController) applicationContext.getBean("deptController");
        System.out.println(bean1);

        //根据bean的类型获取
        DeptController bean2 = applicationContext.getBean(DeptController.class);
        System.out.println(bean2);

        //根据bean的名称 及 类型获取
        DeptController bean3 = applicationContext.getBean("deptController", DeptController.class);
        System.out.println(bean3);
  1. bean的作用域


    bean的作用域
  • 我们可以通过 @Scope 注解来配置bean的作用域
@Scope("prototype")
  • 注解 @Lazy 可以延迟bean的初始化, 延迟到第一次使用该bean对象的时候再初始化
@Lazy
注意事项
  1. 第三方bean


Springboot原理

  • Springboot之所以简单是因为他的起步依赖自动配置, 可以简化很多Spring框架的大量繁琐的配置依赖操作
  • 起步依赖的原理基于 Maven 的依赖传递(A依赖B, B依赖C, 那么我们引入A依赖后, 会自动引入B依赖和C依赖), 起步依赖让我们在进行Springboot框架开发时, 减少了大量引入依赖的操作, 只需要引入少量的依赖即可
  • 自动配置: Springboot的自动配置就是当 Spring 容器启动后, 一些配置类, bean对象就自动存入到了IOC容器中, 不需要我们手动去声明, 从而简化了开发, 节省了繁琐的配置操作

自动配置原理

  • EnableAutoConfiguration


  • 并不是所有配置类中的 @Bean 都会被注册到 Spring IOC 容器当中, 在声明bean对象时, 上面有加一个以 @Conditional 开头的注解, 这种注解的作用就是按照条件进行装配, 只有满足条件之后, 才会将bean注册到 Spring IOC 容器中
@Conditional
  • 加在方法上对该方法有效
  • 加在类上对该类有效
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容