默认版本号

- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
由上图对比SSM发现,所有的依赖都没有版本号,原因在于父类规定了版本号,子类直接使用该版本号。
点击父类,直到最上层(也就是按下Ctrl一直点击红色框,其实就两次)

来到spring-boot-dependencies,往下滑可以看到设置的版本号

mysql默认版本是8.0.29
这要求相应的MySQL也要是8版本的。
如果我们需要使用自己的版本号,而且与默认的版本号冲突,这时候可以选择手动设置版本号,这里用了Maven的就近加载原则。

- <properties>
- <mysql.version>5.1.23</mysql.version>
- </properties>

自动配置好了SpringMVC的配置



- package com.you.boot.controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- @RestController
- public class HelloController {
-
- @RequestMapping("/hello")
- public String handle1()
- {
- return "Hello,SpringBoot2!+济北游坦之";
- }
- }
3、配置好了很多视图解析器
默认的包扫描结构controller必须放在与主程序同包,如下图都在boot包里,或者是主程序的子包

此时,我编写一个其他的控制类,放在与boot同级的位置,也就是不满足上面的条件

- package com.you;
-
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- @RestController
- public class OhterController {
- @RequestMapping("/w")
- public String hello2()
- {
- return "我是其他的控制类!";
- }
- }
此时是无效的

将其放在与主程序同级

刷新一下就可以用了

@SpringBootApplication(scanBasePackages = "com.you")


或者可以使用@ComponentScan("")

默认配置都是映射到MultipartProperities
配置文件的值最终会绑定到每个类上。这个类会在容器里创建
例如有非常多的starter,只有我们引入的时候,这个场景的自动配置才会开启。