SpringBoot入门及原理

//**********************基础入门(手动)
//pom 依赖

org.springframework.boot spring-boot-starter-parent 2.0.1.RELEASE
<!--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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值