springboot-mybatis-druid多数据源配置
在项目中经常会连接多个数据源,我结合了网上的一些示例和实际项目中的使用经验,做了些小小的改进,使配置更加简化了一下。先给出多数据源的配置:
spring:
application:
name: multiDatasource
datasource:
dbone:
url: jdbc:mysql://172.17.10.150:3306/dbone?useUn[......]
在项目中经常会连接多个数据源,我结合了网上的一些示例和实际项目中的使用经验,做了些小小的改进,使配置更加简化了一下。先给出多数据源的配置:
spring:
application:
name: multiDatasource
datasource:
dbone:
url: jdbc:mysql://172.17.10.150:3306/dbone?useUn[......]
显示进程占用的端口信息
netstat -tunlp
查看指定端口号的进程信息
netstat -tunlp|grep 80
删除目录及目录中所有文件
rm -rf /usr/myfiles
复制sourcedir目录及目录下的所有子文件到targetdir目录下
cp -r sourcedir targetdir
复制sourcedir目录及目录下的所有子文件到targe[……]
最近在开发一个应用的过程中,需要支持加载外部的jar包,最初的想法是自定义一个ClassLoader,加载外部jar包,这样就能搞定了,于是google了一下自定义ClassLoader,参考着写了一个loader,代码如下:
public final class DynamicExtensionLoader extends URLClassLoader {
private stati[......]
使用root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。这意味着你的任何一个页面脚本(html/js)都具有root权限,可以运行页面上的脚本,具有非常大的安全风险,所以强烈建议不要使用root启动tomcat。
创建以”tomcat”命名的用户和组
useradd -s /sbin/nologin -M tomcat
说明一下/nologin类型的用户,它是[……]
服务端接口设计模式(一)
服务端接口设计模式(二)
服务端接口设计模式(三)
服务端接口设计模式(四)
1、目前抽象类AbstractBusiService中只是做了参数校验这一项,功能比较单一,可以再多加一些实用功能,比如打印业务接口的执行耗时,可以在doHandle方法添加起始时间,执行结束时间,这样就统计出了执行耗时。代码比较简单,我就不加了。
2、可以在的印象类中加几个空方法,比如be[……]
服务端接口设计模式(一)
服务端接口设计模式(二)
服务端接口设计模式(三)
服务端接口设计模式(四)
从上往篇看到了在抽象类中进行了统一的参数校验,本篇我将增加两个实用的场景,登录用户的身份验证及无需身份验证的接口调用处理。现在新增一个获取用户身份信息的接口 QueryProfile,接下来看实现方式。
1、新增QueryProfileImpl 类,代码比较简单,如下:
@Component[......]
服务端接口设计模式(一)
服务端接口设计模式(二)
服务端接口设计模式(三)
服务端接口设计模式(四)
上一篇中讲解了服务的入口实现,本版将讲解本设计中一个最重要的类AbstractBusiService,它是一个抽象类,但扮演着重要的角色。
1、AbstractBusiService代码如下:
public abstract class AbstractBusiService<T, R[......]
服务端接口设计模式(一)
服务端接口设计模式(二)
服务端接口设计模式(三)
服务端接口设计模式(四)
1、常见的服务端接口设计模式是采用restful形式对外提供服务,我以用户登录、获取个人信息等接口作为示例,这里只展示主要的示例代码:
@RequestMapping("/user")
@RestController
public class UserController {
@A[......]
今天在看一个第三方框架源码的时候,看这StringJoiner
这个类,以前在拼接字符串的时候一直使用的StringBuilder
,所以特别感兴趣,这里的场景是这样用的,当然这个代码是我自己写的,模拟的用法:
String[] strArr = new String[]{"str1","str2","str3","str4","str5"};
StringJoiner joiner = new S[......]
选项
选项简写
说明
–detach
-d
在后台运行容器,并且打印容器id。
–interactive
-i
即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。
–tty
-t
分配一个伪tty,一般与 -i 连用。
#1[......]