//**********************基础入门(手动)
//pom 依赖
<!--SpringBoot要集成SpringMVC进行Controller的开发,所以项目要导入web的启动依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--热部署配置 资源修改后不需要重新启动 (部署失败见下文)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
//热部署失败,根本原因数据IDEA不会自动编译,修改IDEA配置
// settings ——> Complier ——> Build project antomabaclly 选勾
// 然后 Shift+Ctrl+Alt+/,选择Registry ——> compiler.automake.allow.when.app.running 选勾
//编写SpringBoot引导类: (必需)
package com.itheima;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class);
}
}
//在引导类MySpringBootApplication同级包或者子级包中创建QuickStartController:
package com.itheima.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class QuickStartController {
@RequestMapping("/quick")
@ResponseBody
public String quick(){
return "springboot 访问成功!";
}
}
测试: 启动服务器并访问:http://localhost:8080/quick
//*************************************************************
//基础入门(自动)*****
1,创建一个工程 new 一个Module,(这里不再选择Maven),选择Spring Initializr,确定jdk(其它默认)-->next
2,选择项目名称 等等信息
3(重点) 这里选择工程所需要的 功能打上√ next即可
//*************************************************************
小工具:
http://patorjk.com/software/taag 可以自定义字符串
在resources 创建一个 banner.txt 字符串 贴进去
启动的时候就是这个字符串(想象 qwq)
首先SpringBoot 有一个起步依赖
spring-boot-starter-parent ,点开之后会有一个spring-boot-starter-parent.pom 这个pom里面有一个读取配置文件,
配置文件必须在resources下,命名为apploaction*.yml yaml properties(yml->yaml->properties后面会覆盖前面的属性),再去这个pom的父类,点开 spring-boot-dependencies
就看到了各种坐标的版本控制 避免了版本冲突,实际上就是做了依赖传递,整合一套合适的坐标组合,提供更好的体验
有一个配置类SpringbootDemoApplication 它有一个注解 @SpringBootApplication
这个注解有三个作用 点开这个注解之后 :
@SpringBootConfiguration: 等同与@Configuration,既标注该类是Spring的一个配置类
@EnableAutoConfiguration:SpringBoot自动配置功能开启
@ComponentScan : 包扫描 它扫描的是该类的包同级目录或者下级目录下
@EnableAutoConfiguration 注解,引入 AutoConfigurationImportSelector.class,进去之后有一个SpringFactoriesLoader.loadFactoryNames它方法要加载auto-configuration下的META-INF/spring.factories
在这个spring.factories里面就有各种整合spring的配置,这些配置都是默认的,而我们只需要在配置apploaction 中覆盖默认的配置就可以了
那么问题来了,我们怎么去获取在配置覆盖中的健名称呢?
在spring.factories随便点开一个,它里面有一个@EnableConfigurationProperties 注解 ,找到它引入的类(例如: server.port=8081)