Believe it

相信不屈不挠的努力,相信战胜死亡的年轻

扩展SpringMVC

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<mvc:view-controller path="/hello" view-name="succcess"></mvc:view-controller>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/hello"/>
<bean></bean>
</mvc:interceptor>
</mvc:interceptors>
</beans>
阅读全文 »

1
brew cask install tunnelblick

找一个目录

1
2
3
git clone https://github.com/wojas/docker-mac-network.git
cd docker-mac-network
vim helpers/run.sh
修改网段和掩码
1
s|redirect-gateway.*|route 172.17.0.1 255.255.0.0|;
执行
1
docker-compose up -d
得到一个docker-for-mac.ovpn

在route 172.17.0.0 255.255.0.0

上面加

1
comp-lzo yes

双击docker-for-mac.ovpn,会被tunnelblick打开,一直点确定就好了

参考

mac连接docker容器 docker-mac-network

docker-mac-network

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

阅读全文 »

模版引擎

常见的模版引擎有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和日志

考虑和jdbc和数据库驱动一样,我们抽象出一个日志的接口 ## 常见的java日志 JUL,JCL,JBoss-logging,logback,log4j,log4j2,slf4j ### Java抽象 JCL,SLF4j,Jboss-logging ### Java实现 Log4j,JUL,Log4j2,logback ### 怎么选择 选择SLF4j+Logback

阅读全文 »

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>
阅读全文 »

DB

Database 数据库 # DBMS DatabaseManagementSystem 数据库管理系统 # SQL Sturcture Query Language 结构化查询语言 ## SQL语言 不是某个特定数据库供应商专有的语言,DBMS都支持SQL # MySQL 安装

MySQL 卸载

MySQL 配置

my.ini - port 是端口 - datadir 是文件系统路径 - default-storage-engin 是数据库默认引擎 注意要重启服务才能生效