简化Spring应用开发的一个框架;
整个Spring技术栈的一个大整合;
J2EE开发的一站式解决方案;
2014,martin fowler
微服务:架构风格(服务微化)
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;
单体应用:ALL IN ONE
微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;
给maven 的settings.xml配置文件的profiles标签添加
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
开始第一个HelloWorld测试
git clone https://github.com/qichunlin/SpringBootSelf.git
git init
git checkout -b dev
git checkout dev
==>本地存在dev的分支可以直接切换
git branch --set-upstream origin dev
git branch
git branch -d dev
git push origin --delete dev
注意: 在删除远程分支时,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支
git branch | grep 'branchName'
git status
==> 查看代码变动有哪些
git add .
==> 具体文件使用 git add test.java
git commit -m '[ADD]提交信息'
git push
==>提交变更到远程
注意:需要先切换到合并主分支,即master
git merge origin/dev
git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。
git cherry-pick <HashA> <HashB>
==>支持一次转移多个提交。
或者
git cherry-pick dev
==> 表示转移该分支的最新提交
git fetch
git pull
git diff
git stash
git branch --set-upstream-to=origin/remote_branch your_branch
git branch -m old_local_branch_name new_local_branch_name
git branch -m old_local_branch_name new_local_branch_name
重命名远程分支对应的本地分支
git push origin :old_local_branch_name
删除远程分支
git push origin new_local_branch_name
重新推送新命名的本地分支
git remote rm name # 删除远程仓库
git remote rename old_name new_name # 修改仓库名
git tag --list 列出所有的标签
git tag <your_tag_name> 创建一个标签
git tag -d <your_tag_name> 删除一个标签
git push --delete origin <your_tag_name> 删除远程仓库的标签
git push origin <your_tag_name> 推送一个标签到远程
git push origin --tags 推送多个本地标签到远程
解决办法:主要原因是安全设置的问题.
首先执行 git config http.sslVerify "false" 若出现下列错误:git config http.sslVerify "false" fatal: not in a git directory
再继续执行 git config —global http.sslVerify "false" 问题解决
安装:sudo apt install openssh-server
sudo vim /etc/ssh/sshd_config
#启用密码验证 PasswordAuthentication yes
#关闭密钥验证 RSAAuthentication no PubkeyAuthentication no
/etc/init.d/ssh restart
-
查看系统时间 date
-
更改系统时间时区 timedatectl set-timezone Asia/Shanghai
-
可以重启后查看,防止重启后失效 reboot
date
2696671285@qq.com 密码:Oracle123
cp jdk-8u291-linux-x64.tar.gz /usr/java1.8
cd /usr tar -zxvf java1.8
vim /etc/profile
将光标移到最后一行,粘贴如下内容:
#java environment
export JAVA_HOME=/usr/jdk1.8.0_291
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
source /etc/profile
java -version
-- 查看配置文件位置 systemctl show --property=FragmentPath docker
-- 修改配置文件 sudo vim /usr/lib/systemd/system/docker.service 在该行添加如下内容:(这里端口为2375,所以后面在idea中连接时也要填写该端口) ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
-- 重新加载配置文件 systemctl daemon-reload
-- 重启docker systemctl restart docker
-- 测试 curl 远程服务器ip:2375/info curl 远程服务器ip:2375/version
- 引入GAV坐标
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
<version>1.1.2.RELEASE</version>
</dependency>
-
抛出RuntimeException异常后,继续重试,最多重试5次,每次在上一次的基础上延后1秒,multiplier为乘系数。若5次重试后依旧失败,则默认调用带有注解@Recover的方法,给接口返回一个默认值。
-
测试
2021-07-21 10:07:24.613 ERROR 18712 --- [nio-9909-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.retry.ExhaustedRetryException: Cannot locate recovery method; nested exception is java.lang.RuntimeException: idd不能小于0] with root cause
解决方法:调用方法和恢复方法的返回值需要一致
- 1.把mysql库中user表中的一条记录的Host字段值改为%,奇怪的是一定要用以下语句设置一下密码才行
- 2.update user set Password=PASSWORD("123456")WHERE Host="%";
- 3.执行flush privileges;命令使立即生效
INSERT INTO `mysql`.`user`(`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `Event_priv`, `Trigger_priv`, `Create_tablespace_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`, `plugin`, `authentication_string`, `password_expired`) VALUES ('%', 'root', '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', '', '', '', '', 0, 0, 0, 0, 'mysql_native_password', '', 'N');