springboot-起步依赖

参考:spring boot启动机制核心原理详解

1.spring-boot-starter-web web启动器

  web启动器⾃动帮我们引⼊了web模块开发需要的相关jar包。

   spring-boot-starter-web 默认替我们引入了核心启动器 spring-boot-starter  

 

 

 

2.spring-boot-starter-xxx是官⽅提供的starter。

        <!-- AMQP客户端 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

 

3.xxx-spring-boot-starter是第三⽅提供的starter。

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.2</version>
        </dependency>

 

4.maven的spring-boot-starter-parent的作用

  spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖可以省去version标签。

 

5.stater机制帮我们完成了项⽬起步所需要的的相关jar包。那问题⼜来了,传统的spring应⽤中不是要在application.xml中配置很多bean的吗,⽐如dataSource的配置,transactionManager的配置 springboot是如何帮我们完成这些bean的配置的、

  5.1 自动配置

    5.1.1 mybatis 自动配置类  MybatisAutoConfiguration

 

 

 

 

    @Configuration注解的配置类可以看作是能⽣产让Spring IoC容器管理的Bean实例的⼯⼚。@Bean注解告诉Spring,⼀个带有@Bean的注解⽅法将返回⼀个对象,该对象应该被注册到spring容器中(生成bean对象并纳入到spring容器中)。

    所以上⾯的MybatisAutoConfiguration这个类,⾃动帮我们⽣成了SqlSessionFactory这些Mybatis的重要实例并交给spring容器管理,从⽽完成bean的⾃动注册。

    

  5.2 @PostConstruct 注解的作用

    影响servlet声明周期。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。

    

 

 

 

    5.2.1 servlet是什么东西?

      servlet是一个Java编写的程序,此程序是基于http协议的,在服务器端(如Tomcat)运行的,是按照servlet规范编写的一个Java类。
      客户端发送请求至服务器端,服务器端将请求发送至servlet,servlet生成响应内容并将其传给服务器

        Java深入 - servlet和Spring的DispatcherServlet详解

        Tomcat是如何加载Spring和SpringMVC及Servlet相关知识

6. 到此我们已经知道了bean的配置过程,但是还没有看到springboot是如何读取yml或者properites配置⽂件的的属性来创建数据源的

  6.1 MybatisAutoConfiguration 类中

 

 

 

 

在DataSourceAutoConfiguration类⾥⾯,我们注意到使⽤了EnableConfigurationProperties这个注解。

 DataSourceProperties中封装了数据源的各个属性,且使⽤了注解ConfigurationProperties指定了配置⽂件的前缀

  @ConfigurationProperties注解的作⽤是把yml或者properties配置⽂件转化为bean。

  @EnableConfigurationProperties注解的作⽤是使@ConfigurationProperties注解⽣效。

  如果只配置@ConfigurationProperties注解,在spring容器中是获取不到yml或者properties配置⽂件转化的bean的。

   6.2 ConfigurationProperties的作⽤

    可以读取配置⽂件中的信息,并⾃动封装成实体类,该实体类的名称,默认是类名的⾸字母⼩写

    6.2.1 使用@ConfigurationProperties 可以替换@Value注解的使用

 

 
 
 
 
 
 
 
 
 
 
posted @   BBS_自律  阅读(444)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
点击右上角即可分享
微信分享提示