事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。 编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例:
javatry {
//TODO something
transactionManager.commit(status);
} catch (Exception e) {
transactionManager.rollback(status);
throw new InvoiceApplyException("异常失败");
}
声明式事务:基于AOP面向切面的,它将具体业务与事务处理部分解耦,代码侵入性很低,所以在实际开发中声明式事务用的比较多。声明式事务也有两种实现方式,一是基于TX和AOP的xml配置文件方式,二种就是基于@Transactional注解了。
java @Transactional
@GetMapping("/test")
public String test() {
int insert = cityInfoDictMapper.insert(cityInfoDict);
}
在工作中常用的方式
java@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, timeout = 36000, rollbackFor = Exception.class)
@Transactional 可以作用在接口、类、类方法。 例子:
作用于类:当把@Transactional 注解放在类上时,表示所有该类的public方法都配置相同的事务属性信息。
作用于方法:当类配置了@Transactional,方法也配置了@Transactional,方法的事务会覆盖类的事务配置信息。
作用于接口:不推荐这种使用方法,因为一旦标注在Interface上并且配置了Spring AOP 使用CGLib动态代理,将会导致@Transactional注解失效
由于业务需要在图片上打上文字,这就涉及字体版权问题,我就找一些较为不错的可商用字体
OpenSans是一种人文主义无衬线字体,由阿森德公司类型总监Steve Matteson设计。该版本包含完整的897字符集,其中包括标准的ISO拉丁文1、拉丁文CE、希腊文和西里尔字母字符集。OpenSans的设计笔正有力,开放的形式和中立的,但友好的外观。它为打印、网络和移动界面进行了优化,并在其信笺形式上具有出色的可读性特征。
思源黑体是Adobe与Google历时三年在2014年7月宣布推出的一款开源字体,这是一款新的供桌面使用的开源 Pan-CJK 字体家族,完全支持繁体中文、简体中文、日文和韩文,它还包括来自我们颇受欢迎的 Source Sans字体家族的拉丁文、希腊文和西里尔文字形。
该款字体是由Google和Adobe合作开发的,Google将其命名为Noto SansCJK,作为Google的Noto字体家族的成员。Adobe则命名为Source Han Sans,作为Adobe的Source字体家族的一员。Adobe拥有字体设计的版权。发布的字体文件则可以不受限制的免费使用。
本字体以SIL Open Font License 1.1(SIL 开源字型授权版本1.1,简称SIL OFL 或OFL)授权协议发布
Adobe版思源黑体来源出处:
github项目:https://github.com/adobe-fonts/source-han-sans
Adobe官网:https://blog.typekit.com/2014/07/15/introducing-source-han-sans/
谷歌版思源黑体来源出处:
todesk一直提示连接不上服务器,不能进行远程
sudo systemctl restart todeskd.service
重启todesk程序即可
向日葵的未知连接提示框一直点击不掉,只能重新向日葵程序,但是直接在右上角图标右键退出不能实现,只能强制退出
ps -ef | grep sunlogin
ps -ef | grep sunlogin root 1093 1 0 9月29 ? 00:01:10 /usr/local/sunlogin/bin/oray_rundaemon -m server ubuntu 1266604 2175 0 10月29 ? 04:55:53 /usr/local/sunlogin/bin/sunloginclient ubuntu 1266650 1266604 0 10月29 ? 00:43:59 /usr/local/sunlogin/bin/sunloginclient --type=zygote --no-sandbox --lang=en-US --locales-dir-path=/usr/local/sunlogin/res --log-file=/usr/local/sunlogin/bin/debug.log --resources-dir-path=/usr/local/sunlogin/res --user-agent=SLRC/15.2.0.63064 (Linux,x64,Person,loginver=10,appname=sunloginRemoteClient) Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36
kill -s 9 1093 kill -s 9 1266604 kill -s 9 1266650
获取图片失败: Invalid argument to native writeImage
Java public static byte[] getUrlImageBytes(String url, int width, int height) {
try {
// 直接从网络读取图片并调整大小
BufferedImage image = Thumbnails.of(new URL(url)).size(width, height).asBufferedImage();
try(ByteArrayOutputStream baos = new ByteArrayOutputStream()){
ImageIO.write(image, "jpg", baos);
return baos.toByteArray();
}
} catch (IOException e) {
log.error("获取图片失败: " + e.getMessage());
}
return null;
}