如何创建
1、选择Spring Initializr 下面JDK1.8对应Java8 如果没有java8可以点击上方ServerURL后面的工具符号 换成以下地址 就有Java8了
2、为了兼容性 SpringBoot选择2.7.6 下方勾选Spring Web
3、SpringBoot运行的是Application里面的main方法 点击运行后 下方会出现端口号
4、在地址栏中输入对应的端口号以及地址,出现以下画面 就说明项目新建成功
4、SpringBoot的配置文件
5、SpringWeb的依赖
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.7.15</version>
</parent>
<!-- 关于spring web相关的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
这个配置文件存在于resources下 其中server.port是对应的端口号,若遇到端口号冲突可以选择修改
关于配置文件
1)配置文件命名只可以为application,名字改了之后就会失去配置文件的作用
2)后缀名可以是.yml 也可以是.properties 但是同时配置的情况下 .properties的优先级高于.yml
SpringBoot的优点
可以创建独立的Spring应用程序
嵌入了tomcat、jetty等应用服务器程序,可以不需要发布部署即可直接启动项目
提供了很多准备好的启动器,简化项目配置
自动配置Spring以及第三方依赖
绝对无代码生成,也完全不需要任何xml配置
依赖管理
我们只是添加了一个依赖,但是项目却可以运行的原因:
1、SpringBoot里面提供很多个starter(启动器) 这个启动器依赖了其他的的包,而我们依赖了这个starter包,maven就会自动依赖starter下的其他包
2、同时这个只是负责版本管理 ,不负责导入依赖,若写了版本号则会覆盖她原来的版本
包结构
我们启动类的包必须放在放在包级别最高的一个包,因为是迭代扫描,扫描启动类以及它以下的包,一层层扫描,如果启动类不放在级别最高的包,会出现扫描不到其他包的情况
自动配置
启动类上面只加了@SpringBootApplication 但是这个注解下还有很多其他的注解
@SpringBootConfiguration 下还有@Configuration:表示当前启动类可以作为一个配置类,里面可以写@Bean来配置bean(等同于xml中的一个bean标签)
@EnableAutoConfiguration 下有@Import(AutoConfigurationPackages.Registrar.class):自动递归扫描启动类所在的包
@ComponentScan:扫描启动类所在包以外的其他包