SpringBoot 及其 基本原理、配置文件(二)
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
一.SpringBoot 的版本与启动过程
1.SpringBoot都是jar工程

2.SpringBoot 版本问题
大版本1:内置的Spring是大版本4
1.5.8
1.5.12
大版本2:内置的Spring是大
版本5
3.SpringBoot启动过程观察

① 核心机制:

② 重要注解
| 注解名称 | 作用 |
|---|---|
| @SpringBootApplication |
声明一个SpringBoot程序,并使 @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan等注解生效 |
| @SpringBootConfiguration | 相当于@Configuration注解的重新定义 |
| @Configuration | 声明一个Spring配置类 |
| @Bean | 在@Configuration注解标记的类中将标记了@Bean的方法返回值对象加入IOC容器,可以对应XML配置文件中的bean标签来理解 |
| @EnableAutoConfiguration | 启用自动配置 |
| @AutoConfigurationPackage | 当前包下包含需要自动扫描的类 |
| @ComponentScan | 指定要扫描的包 |
4.扫描包的问题
- 自动扫描
需要被扫描的类(@Controller、@Service)所在的包是主启动类所在包的子类。

- 手动指定扫描的包
在主启动类上使用@ComponeneScan(“com.webcode.spring2boot.handler”)注解
5.@Configuration 注解
/**
* <bean id="message" class="com.webcode.springboot.entities.Message"/>
* @author Lenovo
* 当前这个类必须能够被扫描到
*/
@Configuration
public class MyBean {
@Bean//这个方法返回的对象会被加入到IOC容器中
public Message getMessageBean() {
return new Message();
}
}
6.扫描Mapper接口的两种方式
- 方式一: 使用 @MapperScan
@MapperScan("com.webcode.springboot.mappers")标记在主启动类上
- 方式二: 使用@Mapper
标记在Mapper接口上
@Mapper
public interface EmpMapper{
......................
}
7. 为Mybatis配置实体类包
mybatis:
mapper-locations: classpath*:/mybatis/mappers/*Mapper.xml
type-aliases-package: com.atguigu.springboot.entities
8.SpringBoot环境下配置文件
①总述
SpringBoot环境下常用的配置文件有两种,一种是properties 属性文件,一种是yml文件。二者各有特点,语法也有很大区别,但是最终效果基本一致。
②Properties 文件使用
文件名: application.properties
语法格式:
xxx.xxx.xxx=xxx
server.port = 8181 //用于指定handler访问的端口号
③yml文件的使用
1.yml简介
yml是YAML(YAML Ain't Markup Language)语言的文件,以数据为中心,比json、xml等更适合做配置文件。
2.yml语法
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
大小写敏感
3.YAML 支持的三种数据结构
- 对象: 键值对的集合
- 数值:一组按次序排列的值
- 字面量:单个的、不可再分的值
spring:
application:
name: apple
//微服务的名字
server:
port: 8181
context-path: /banana
用于指定handler访问的路径
主服务器
@SpringBootApplication
@ComponentScan("com.webcode.springBoot")
public class SpringBootHelloWorld {
public static void main(String[] args) {
SpringApplication.run(SpringBootHelloWorld.class, args);
}
- application.properties
server.port=8081 #指定访问的端口
- application.yml
spring:
application :
name : applie
- entity
public class Message {
public String getmessage() {
return "this is message";
}
}
- component
@Configuration
public class MyBean {
@Bean
public Message getMessageBean() {
return new Message();
}
}
- handler
@Controller
public class HelloHandler {
@Autowired
private Message message;
@ResponseBody
@RequestMapping("/springboot/hello")
public String hello() {
System.out.println(message.getmessage());
String getmessage = message.getmessage();
// return "this is helloworld ss"+ message.getmessage();
return "this is helloworld ss"+ getmessage;
}
}
SpringBoot 及其 基本原理、配置文件(二)的更多相关文章
- SpringBoot配置(1) 配置文件application&yml
SpringBoot配置(1) 配置文件application&yml 一.配置文件 1.1 配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的. application ...
- SpringBoot注解把配置文件自动映射到属性和实体类实战
SpringBoot注解把配置文件自动映射到属性和实体类实战 简介:讲解使用@value注解配置文件自动映射到属性和实体类 1.配置文件加载 方式一 1.Controller上面配置 @Propert ...
- springboot深入学习(一)-----springboot核心、配置文件加载、日志配置
一.@SpringBootApplication @SpringBootApplication是spring boot的核心注解,源码如下: 相当于:@Configuration+@EnableAut ...
- springboot快速入门(二)——项目属性配置(日志详解)
一.概述 application.properties就是springboot的属性配置文件 在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring ...
- SpringBoot起飞系列-配置文件(三)
一.SpringBoot中的配置文件 说起到配置文件,大家并不陌生,早在springboot之前,我们用ssh,ssm框架开发的时候整天都要接触配置文件,那时候的配置文件基本上都是.propertie ...
- Java开发学习(三十六)----SpringBoot三种配置文件解析
一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...
- Springboot 之 多配置文件
六.Springboot 之 多配置文件 说明:在程序开发过程中可能会有这样的需求:开发和部署的配置信息可能会不同,以传统的方式就是在配置文件里面写好配置,在部署的时候再去修改这些配置,这样肯定会 ...
- SpringBoot入坑-配置文件使用
经过上一篇的介绍,相信小伙伴们已经按奈不住内心对springboot的向往,本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们 ...
- 六、Springboot 之 多配置文件
说明:在程序开发过程中可能会有这样的需求:开发和部署的配置信息可能会不同,以传统的方式就是在配置文件里面写好配置,在部署的时候再去修改这些配置,这样肯定会有很多问题,比如忘记修改.修改错误等. 而Sp ...
随机推荐
- 03_CSS入门和高级技巧(1)
上节课知识的复习 插入图片,页面中能够插入的图片类型:jpg.jpeg.bmp.png.gif:不能的psd.fw. 语法: <img src="路径" alt=" ...
- arangodb安装
这里仅介绍windows环境下的安装,直接官网下载安装包安装即可.安装完后进入安装目录进行配置. cd ArangoDB\\etc\\arangodb3 打开arangod.conf配置文件,修改以下 ...
- 组合模式(c++实现)
组合模式 目录 组合模式 定义 动机 UML类图 场景拆解 源码实现 优点 缺点 定义 将对象组合成树形结构以表示"部分-整体"的层次结构.组合模式是的用户对单个对象和组合对象的使 ...
- BIO、NIO、AIO的形象比喻
BIO (Blocking I/O):同步阻塞I/O模式. NIO (New I/O):同步非阻塞模式. AIO (Asynchronous I/O):异步非阻塞I/O模型. 先看阻塞和非阻塞的区别, ...
- [hdu4609]计数方法,FFT
题目:给一个数组a,从里面任选三个数,求以这三个数为三条边能构成三角形的概率. 思路:由于每个数只能用一次,所以考虑枚举三边中的最大边.先将a数组排序,然后枚举它的每个数x作为最大边,那么问题就是要求 ...
- UDP编程中的connect
标准的udp客户端开了套接口后,一般使用sendto和recvfrom函数来发数据,最近看到ntpclient的代码里面是使用send函数直接法的,就分析了一下,原来udp发送数据有两种方法供大家选用 ...
- SD实现原理学习,以及SD失效的问题解决
SD失效的问题可能解决方案: 1.有可能是图片的url地址不对,有可能浏览器可以打开,但是这个地址浏览器是做了处理的,所以浏览器能打开. 2.如果图片地址是Http,那么就需要关闭ATS. ATS ( ...
- java -> HttpServletResponse
HttpServletResponse HttpServletResponse概述 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一 ...
- 【蓝桥杯C组】备赛基础篇之前缀和算法
算法介绍: 设a为数组,a[i]中储存的是前i 个数(包括自己)的总和,相当于我们中学学过的前N项和,那么,弄成这样的好处是什么呢?假如我们要多次访问一段区间的总和,难道每次都加一次进行重复运算吗?? ...
- throttle和debounce
遇到的问题 在开发过程中会遇到频率很高的事件或者连续的事件,如果不进行性能的优化,就可能会出现页面卡顿的现象,比如: 鼠标事件:mousemove(拖曳)/mouseover(划过)/mouseWhe ...