nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 1brew cask install tunnelblick 找一个目录 123git clone https://github.com/wojas/docker-mac-network.gitcd docker-mac-networkvim helpers/run.sh 修改网段和掩码 1s|redirect-gateway.*|route 172.17.0.1...

2020/4/16美团笔试 不多说,美团的题真的出的好,尽管我没有做完,但是体验挺好的。 # 第一题 n个人,每个人m个科目,只要一个人某科是最高分或者最高分之一,我们就要为他颁奖,每个人最多颁奖一次,问最需要多少次颁奖 统计最值就ok了 # 第二题 输入a,b,x,m, 你讲进行不断的迭代x = (a*x+b)%m, 问x的循环节是多少, m<1e5 暴力枚举2*m轮,枚举的时候

模版引擎

常见的模版引擎有JSP,Velocity,Freemarker,Thymeleaf

SpringBoot推荐的Thymeleaf

1
2
3
4
5
<!--        模版引擎-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

视频中说这个版本有点低,是2.16的
然鹅我用的SpringBoot2,已经是3.x了
修改版本号,这招估计学了有用,这个能覆盖版本

SpringBoot与Web

先在idea中选择场景
SpringBoot已经默认将这些常见配置好了,我们只需要在配置文件中指定少量配置就可以运行起来
然后我们可以开始编写业务代码了

SpringBoot与静态资源

WebMvcAutoConfiguration

打开WebMvcAutoConfiguration.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!this.resourceProperties.isAddMappings()) {
logger.debug("Default resource handling disabled");
return;
}
Duration cachePeriod = this.resourceProperties.getCache().getPeriod();
CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl();
if (!registry.hasMappingForPattern("/webjars/**")) {
customizeResourceHandlerRegistration(registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/")
.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));
}
String staticPathPattern = this.mvcProperties.getStaticPathPattern();
if (!registry.hasMappingForPattern(staticPathPattern)) {
customizeResourceHandlerRegistration(registry.addResourceHandler(staticPathPattern)
.addResourceLocations(getResourceLocations(this.resourceProperties.getStaticLocations()))
.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));
}
}

springboot配置

配置文件

配置文件的名字是固定的

application.properties

applicstion.yml

YAML 是一个标记语言,不是一个标记语言

标记语言

以前的配置文件大多是xml文件,yaml以数据为中心,比json、xml等更适合做配置文件
这是yml

1
2
server:
port: 8081

这个是xml

1
2
3
<server>
<port>8081</port>
</server>

微服务

讲大应用拆分成多个小应用

springboot介绍

创建maven工程

导入依赖

1
2
3
4
5
6
7
8
9
10
11
12
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial DB Database 数据库 DBMS DatabaseManagementSystem 数据库管理系统 SQL Sturcture Query Language 结构化查询语言 SQL语言 不是某个特定数据库供应商专有的语言,DBMS都支持SQL MySQL 安装MySQL 卸载MySQL 配置 my.ini port 是端口 datadir...

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial Java并发 Tread 创建线程 Runnable 创建线程 Callable+Future创建线程 synchronized 加锁 wait&#x2F;notify 释放锁并进入阻塞队列 park&#x2F;unpark 类似上 ReentrantLock 重入锁 await&#x2F;signal...