【SpringBoot-01】入门+SpringBoot注解原理

参考:https://www.bilibili.com/video/av38657363?p=1

一、SpringBoot优点:

  

二、HelloWorld Demo构建

1)新建Maven工程(略过)

2)增加Maven依赖(参考spring官网中springboot的quickstart)

   

3)通过@SpringBootApplication声明springboot应用程序

    

4)定义Controller

  @Controller:定义Controller

  @RequestMapping("/hello")  :对外提供的URL路径

  @ResponseBody  :  返回值放到响应body中返回

   

5)直接Run,并访问http://127.0.0.1:8080/hello查看执行效果   

6)简化部署(POM新增如下配置,生成可直接启动的JAR)

   

7)Maven Package打包成可执行JAR包(内含lib文件包含依赖的各种JAR包括嵌入式Tomcat包),通过java -jar 可执行jar包后,可直接访问http://127.0.0.1:8080/hello

  

POM分析

1、spring-boot-starter-parent  

  

  继续查看Parent定义:

  

  继续查看Parent定义:定义一堆依赖spring的库的版本号

  

  ---  真正管理springboot应用中的所有依赖的版本,也包含mysql等三方件(截图未包含),使得自己应用不用再次配置

  

2、spring-boot-starter-web --启动器 

  导入WEB模式正常启动所依赖的组件;

  

  3、各种spring-boot-starter-xxx

  参考springboot官网

  

@SpringBootApplication注解分析

  

    1、@SpringBootConfiguration

    表示一个springboot的配置类,内部是spring注解@Configuration  

    

   2、@EnableAutoConfiguration

    告诉springBoot开启自动配置功能

    实现效果:将主配置类(@SpringBootApplication标注的类)所在包及子包所有组件都扫描到spring容器     

      

    @Import:给容器中导入组件

    

     Register的功能:

      

    EnableAutoConfigurationImportSelector

    将所有需要导入组件以全类名方式返回,组件被添加到容器中;会给组件导入非常多自动配置类;免去了手动编写配置写入功能组件的工作

      

       

  

原文地址:https://www.cnblogs.com/clarino/p/11980474.html