<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Edson121的博客]]></title><description><![CDATA[小白成长之路]]></description><link>https://blog.youkuaiyun.com/Edson121</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Edson121]]></copyright><item><title><![CDATA[多数据源切换]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/121978797</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/121978797</guid><author>Edson121</author><pubDate>Thu, 16 Dec 2021 16:56:10 +0800</pubDate><description><![CDATA[文章目录功能环境依赖多数据源配置动态切换事务重写mybatis配置类示例问题及解决方案同一service中A方法内调用B、C方法导致数据源切换失败使用@Transactional后数据源切换失败
功能

多个数据源的切换
事务内的数据源切换和事务的回滚

环境依赖

springboot + mybatis + atomikos

&lt;!--分布式事务 --&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/gr]]></description><category></category></item><item><title><![CDATA[Git基础命令]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/120761014</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/120761014</guid><author>Edson121</author><pubDate>Thu, 14 Oct 2021 11:44:02 +0800</pubDate><description><![CDATA[文章目录命令概念Bug分支
命令
git init ：将当前目录变成Git可以管理的仓库
git add &lt;file&gt; ：文件修改添加到暂存区
git commit -m &lt;message&gt;： 把暂存区的所有内容提交到当前分支，message是提交注释
git status ：查看文件提交情况
git diff &lt;file&gt; : 查看文件修改的内容
git log : 查看提交历史日志，加--pretty=online使其展示更简洁。
git reset --hard &]]></description><category></category></item><item><title><![CDATA[Springboot笔记---持续更新中]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/119572538</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/119572538</guid><author>Edson121</author><pubDate>Tue, 10 Aug 2021 16:12:59 +0800</pubDate><description><![CDATA[文章目录传递参数注解@PathVariable,@RequestParam和RequestBody区别springboot注解及相关知识配置文件application.propertiesSpringboot跨域实现拦截器设置bug表单校验与页面枚举值的显示日志设置Spring Task定时任务Spring AOP切面异常定义与处理页面与后端值传递方法Apache Bench(ab)测压redis存储与登录拦截Synchronized锁和Redis分布式锁redis缓存WebSocket和html5Linu]]></description><category></category></item><item><title><![CDATA[Java8新特性]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/119572472</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/119572472</guid><author>Edson121</author><pubDate>Tue, 10 Aug 2021 16:10:43 +0800</pubDate><description><![CDATA[环境：JDK1.8以上
Lambada表达式
Lambda 允许把函数作为一个方法的参数（函数作为参数传递进方法中）。
语法：(parameters) -&gt; expression或(parameters) -&gt;{statements; }
1.可选类型声明：不需要声明参数类型，编译器可以统一识别参数值。

2.可选的参数圆括号：一个参数无需定义圆括号，但多个参数需要定义圆括号。

3.可选的大括号：如果主体包含了一个语句，就不需要使用大括号。

4.可选的返回关键字：如果主体只有一个表达式返回值]]></description><category></category></item><item><title><![CDATA[Flex布局]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/99971228</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/99971228</guid><author>Edson121</author><pubDate>Wed, 21 Aug 2019 16:10:06 +0800</pubDate><description><![CDATA[文章参考
简介

flex意为弹性布局flexible box，使CSS的盒子模型更加地灵活。
设为Flex布局以后，子元素的float、clear和vertical-align属性将失效。

语法

指定使用flex布局。

.myDiv{
    display:flex;
}


容器的属性

1. flex-direction：决定主轴的方向（即项目的排列方向）。
    其中：  row...]]></description><category></category></item><item><title><![CDATA[ES6学习笔记]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/99859370</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/99859370</guid><author>Edson121</author><pubDate>Tue, 20 Aug 2019 16:49:00 +0800</pubDate><description><![CDATA[ES6
JS新规范，包括对变量、函数等的扩展。
文章目录ES6变量箭头函数函数参数扩展解构赋值数组面向对象JSONPromise对象Generator函数async函数
变量

var：可以重复定义变量。无块级作用域。
let：不能重复定义变量，值可以修改。有块级作用域。
const：不能重复定义，常量不可修改。有块级作用域。

块级作用域：

&lt;script&gt;
    
    if...]]></description><category></category></item><item><title><![CDATA[Java基础夯实]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/99859245</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/99859245</guid><author>Edson121</author><pubDate>Tue, 20 Aug 2019 16:47:33 +0800</pubDate><description><![CDATA[Java运行过程

在开发集成环境下编辑一个java文件，如User.java文件。
通过javac User.java命令将该文件编译成字节码文件User.class。（前提是编译无错）
通过java User执行代码文件。
类的主方法（main）中的String[] args是main方法的参数。如运行java文件时使用java User aaa命令：其中java表示执行命令，User为文件类...]]></description><category></category></item><item><title><![CDATA[SQL语言基础]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/99858851</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/99858851</guid><author>Edson121</author><pubDate>Tue, 20 Aug 2019 16:45:15 +0800</pubDate><description><![CDATA[Users表




id
name




int
varchar(128)


Book表




id
name
user_id




int
varchar(128)
int


SQL基础

SQL一般不区分大小写。
条件语句中的文本使用单引号环绕；大多数数据库系统也支持双引号，数值类不使用引号。
逻辑判断使用：and和or
order by：根据指定的列对结果集进行排序，默认按照升序...]]></description><category></category></item><item><title><![CDATA[Springboot（五）Apache Bench测压与Linux项目部署]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/93876141</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/93876141</guid><author>Edson121</author><pubDate>Thu, 27 Jun 2019 14:44:24 +0800</pubDate><description><![CDATA[Apache Bench(ab)测压

介绍：模拟高并发的环境，测试软件在高并发环境下的准确性和效率。
由于在windows上安装成功但不能运行，推荐在linux上安装。
在linux终端输入yum -y install httpd-tools安装。安装成功后通过ab -v查看版本。ab -help查看所有命令。
ab -c 100 -n 1000 http://baidu.com/：表示创建10...]]></description><category></category></item><item><title><![CDATA[Springboot（四）使用WebSocket]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/93875970</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/93875970</guid><author>Edson121</author><pubDate>Thu, 27 Jun 2019 14:40:38 +0800</pubDate><description><![CDATA[WebSocket

webSocket用于页面与逻辑代码的消息传递，且连接是全双工通信。
在pom.xml文件中引入spring-boot-starter-websocket依赖。
在需要进行消息展示的页面插入以下代码。
一般页面使用modal组件显示消息内容。

&lt;script&gt;

        if('WebSocket' in window){
            
  ...]]></description><category></category></item><item><title><![CDATA[Springboot（三）redis存储与登录拦截]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/93875728</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/93875728</guid><author>Edson121</author><pubDate>Thu, 27 Jun 2019 14:38:59 +0800</pubDate><description><![CDATA[redis缓存

springboot+redis
@Cacheable(name="",key=""):表示将该对象以name+key为键存入redis数据库。
@CacheEvict(name="",key="")：表示将以name+key为键的记录删除,以更新缓存，使得缓存数据与数据库数据一致。
@CacheConfig(name="")：注解在类上，表示统一指定缓存的name字段。

re...]]></description><category></category></item><item><title><![CDATA[Springboot（二）自定义日志与异常]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/93875459</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/93875459</guid><author>Edson121</author><pubDate>Thu, 27 Jun 2019 14:36:21 +0800</pubDate><description><![CDATA[日志设置

日志：“谁在何时何地做了何事”—定义日志对象。
“何事”：定义用户的动作，“有各种事”。
提供创建日志对象的工具类。

//日志对象定义

/**
 * 日志信息对象
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LogObject {

    /**
     * 用户id
     */
    pri...]]></description><category></category></item><item><title><![CDATA[Springboot(一)]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/93875075</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/93875075</guid><author>Edson121</author><pubDate>Thu, 27 Jun 2019 14:33:12 +0800</pubDate><description><![CDATA[传递参数注解@PathVariable,@RequestParam和RequestBody区别

（markdown引用图片方法BASE64编码）
针对一些非必填的参数，可以使用required关键字来标识，同时必须设置默认值defaultValue,如对price参数的获取：

@RequestParam(value = "price",required = false,defaultValue...]]></description><category></category></item><item><title><![CDATA[Linux初探]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/90750724</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/90750724</guid><author>Edson121</author><pubDate>Mon, 03 Jun 2019 13:41:09 +0800</pubDate><description><![CDATA[简介

特点：Linux开源且免费，而windows是不开源的且收费；因此大部分公司的服务器使用Linux。在Linux中一切设备皆文件。
作用范围：服务器运维，数据库运维等。

安装

VMware安装：用于虚拟出一个计算机，在该机上安装Linux;从而不会破坏物理机的内存和磁盘。
CentOS：操作系统镜像安装Linux。
磁盘分区：

/boot：一般用于存放系统启动文件，分区大小为1024...]]></description><category></category></item><item><title><![CDATA[3. Longest Substring Without Repeating Characters]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/90370218</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/90370218</guid><author>Edson121</author><pubDate>Mon, 20 May 2019 10:25:00 +0800</pubDate><description><![CDATA[Problem
Given a string, find the length of the longest substring without repeating characters.
说明：给定一个字符串，找出其中最长且无重复字符的子串。
[Example]
Input: "abcabcbb"
Output: 3 
Explanation: The answer is "abc", with...]]></description><category></category></item><item><title><![CDATA[2.Add Two Numbers]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/90370158</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/90370158</guid><author>Edson121</author><pubDate>Mon, 20 May 2019 10:22:12 +0800</pubDate><description><![CDATA[Problem
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and ...]]></description><category></category></item><item><title><![CDATA[1.Two Sum]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/90370098</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/90370098</guid><author>Edson121</author><pubDate>Mon, 20 May 2019 10:19:32 +0800</pubDate><description><![CDATA[Problem
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use th...]]></description><category></category></item><item><title><![CDATA[Java面试总结（二）]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/88429234</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/88429234</guid><author>Edson121</author><pubDate>Tue, 12 Mar 2019 22:13:05 +0800</pubDate><description><![CDATA[第二次面试@-@

在面试总结（一）中，对于JVM中堆和栈的区分不是很清楚，可以看看别人写的这篇JVM调优，写得很好，推荐给大家。总的来说就是：栈是存放线程运行时的信息（程序运行状态、方法和方法的返回值等），决定程序如何运行；堆是存储数据，堆中的数据可以被栈访问，它决定数据放在哪。

接下来总结第二次面试内容：

笔试部分

“！”运算符的优先级小于括号。
	int a=b=1;String s...]]></description><category></category></item><item><title><![CDATA[Java面试总结（一）]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/88319956</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/88319956</guid><author>Edson121</author><pubDate>Thu, 07 Mar 2019 21:50:32 +0800</pubDate><description><![CDATA[今天面试完一个Java实习生岗位，趁着余热将知识点记下来。以下知识并非原创，皆是网上找的答案：

 一.String类

String不是基本数据类型，底层代码中String被final字段修饰，是不可被继承的；一旦创建了 String 对象，那它的值就无法改变了。如果需要对字符串做很多修改，那么应该选择使用 StringBuffer 或 StringBuilder 类。
	 当对字符串进...]]></description><category></category></item><item><title><![CDATA[注解+动态代理实现权限拦截]]></title><link>https://blog.youkuaiyun.com/Edson121/article/details/77606722</link><guid>https://blog.youkuaiyun.com/Edson121/article/details/77606722</guid><author>Edson121</author><pubDate>Sat, 26 Aug 2017 20:40:12 +0800</pubDate><description><![CDATA[动态代理
用于拦截对目标对象的直接访问。代理对象具有自己的方法以及目标对象的全部方法，当被调用的是目标对象的方法时，代理对象先调用自己的方法，再让目标对象调用其对应的方法。JavaAPI：
Proxy类产生代理对象，调用其静态方法newProxyInstance(ClassLoader,Interfaces[],InvocationHandler(Object proxy,Method method]]></description><category></category></item></channel></rss>