首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

Beetl 3.0.20 版本发布,Java 模板引擎

本次发布增加一个配置,可以通过配置文件配置虚拟属性,以VIRUTAl开头,而不需要调用api VIRTUAL.size=org.beetl.core.GroupTemplate$SizeVirtualAttributeEval 如上配置,beetl在遇到虚拟属性size的时候,会调用org.beetl.core.GroupTemplate$SizeVirtualAttributeEval 虚拟属性是指JavaBean不存在的属性,但可以通过Beetl动态添加,如Beetl的内置的虚拟属性`size`,可以返回集合,数组的长度 maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>3.0.20.RELEASE</version> </dependency> Beetl是一款全功能,高性能优秀的国产模板引擎,可以广泛用于动态页面生成,静态页面生成,代码生成,文本转换,脚本语言和规则引擎等,从2011年来,一直维护,并得到国内公司用户的肯定。

优秀的个人博客,低调大师

Beetl 3.0.19 版本发布,Java 模板引擎

本次发布增加了includeFragment扩展,以及整合了Beetl爱好者提供的新扩展 StringUtil 增加了extendString系列辅助函数,用于格式化字符串 增加includeFragment扩展,可以允许包含模板的一部分内容,例子如下 includeFragment("/all.html","frag1"){} 或者 <#html:includeFragment file="/all.html" fragment="frag1" arg1="" arg2=""/> all.html内容如下,#fragment用于表示模板片段 <% #fragment frag1:{ %> 内容片段一 <%}%> <% #fragment frag2:{ %> 内容片段二 <%}%> maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>3.0.19.RELEASE</version> </dependency> Beetl是一款全功能,高性能优秀的国产模板引擎,可以广泛用于动态页面生成,静态页面生成,代码生成,文本转换,脚本语言和规则引擎等,从2011年来,一直维护,并得到国内用户的肯定。

优秀的个人博客,低调大师

Beetl 3.0.17 版本发布,Java 模板引擎

本次发布新增了一个html标签特性 html标签 $export变量实现一个全局变量 <#html:set value="" $export="collection"/> ..... @for(item in collection){ @} maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>3.0.17.RELEASE</version> </dependency> Beetl是一款全功能,高性能优秀的国产模板引擎,可以广泛用于动态页面生成,静态页面生成,代码生成,文本转换,脚本语言和规则引擎等,从2011年来,一直维护,并得到国内用户的肯定。

优秀的个人博客,低调大师

Java使用阿里云OSS和短信

阿里云OSS和短信工具 导入依赖 <dependency> <groupId>cn.gjing</groupId> <artifactId>tools-aliyun</artifactId> <version>1.0.0</version> </dependency> 一、OSS 1、配置 以下配置除了后四个配置不必填,其他都必填 aliyun: # 用户key,在阿里云获取 access-key: xxxxxxx # 用户秘钥,在阿里云获取 access-key-secret: xxxxxxx oss: # 节点, 前往阿里云查看 end-point: xxxxxxxx # 存储空间, 不存在会创建 bucket: xxxxxxx # 最大连接数,默认1024 max-connections: 1024 # 最大空闲时间(毫秒),默认60000 idle-time: 60000 # socket超时时间(毫秒),默认50000 socket-timeout: 50000 # 连接超时时间(毫秒),默认50000 connection-timeout: 50000 2、文件上传 如果有目录那么可以指定目录名称, 如果目录不存在会进行创建. 上传成功会返回oss文件名 /** * @author Gjing **/ @RestController public class TestController { @Resource private OssUpload ossUpload; @PostMapping("/file") public String upload(MultipartFile file) { // 通过文件上传 return this.ossUpload.upload(file); } @PostMapping("/file2") public String upload(MultipartFile file) { // 上传到test目录 return this.ossUpload.upload(file, "test"); } @PostMapping("/file3") public String upload(MultipartFile file) throws IOException { // 通过流或者byte[]进行上传, 需要指定文件名 return this.ossUpload.upload(file.getInputStream(), UUID.randomUUID().toString()+".jpg"); } } upload()方法参数如下 参数 描述 fileName 上传到oss后的文件名, 重复会覆盖掉之前的,如果要上传到指定目录的话将目录一并作为文件名即可,如:files/1.jpg file 文件、文件流、byte数组 dir 保存到bucket那个目录对应的目录名称 3、文件删除 使用批量删除方法会在执行完成后会返回删除成功的文件名列表,批量删除最多同时删除1000个 /** * @author Gjing **/ @RestController public class TestController { @Resource private OssUpload ossUpload; @DeleteMapping("/test1") public void deleteFile(String fileName) { // 删除指定oss文件 this.ossUpload.deleteFile(fileName); } @DeleteMapping("/test2") public String deleteFiles(String[] fileNames) { // 批量删除 return this.ossUpload.deleteFiles(Arrays.asList(fileNames)).toString(); } } deleteFile()、deleteFiles()方法参数如下 参数 描述 fileName oss文件名,上传成功后返回给您的 fileNames oss文件名集合,最多同时删除1000个 4、判断文件是否存在 /** * @author Gjing **/ @RestController public class TestController { @Resource private OssDownload ossDownload; @PostMapping("/test") public boolean test(String fileName) { return this.ossDownload.isExist(fileName); } } isExist()方法参数如下 参数 描述 fileName oss文件名,上传成功后返回给您的 5、文件下载 /** * @author Gjing **/ @RestController public class TestController { @Resource private OssDownload ossDownload; @GetMapping("/test") public void downLocal(String fileName, HttpServletResponse response) { // 1、下载到本地指定目录 this.ossDownload.downByLocal("/Users/colin/Desktop/1/", fileName); // 2、通过流下载 this.ossDownload.downByStream(fileName, response); } } downByLocal()、downByStream()方法参数如下 参数 描述 fileName oss文件名,上传成功后返回给您的 dir 本地文件目录地址,不存在会创建 二、短信 1、配置 以下配置除了region其他都必填 aliyun: # 用户key,在阿里云获取 access-key: xxxxxxx # 用户秘钥,在阿里云获取 access-key-secret: xxxxxx sms: # 短信模板ID,必须是已添加并审核通过的 template-code: xxxxxxx # 短信签名名称,必须是已添加并审核通过的 sign-name: xxxxxx # 区域,默认default region: default 2、发送短信 短信模板变量对应的实际值 /** * @author Gjing **/ @RestController public class SmsController { @Resource private SmsHelper smsHelper; @PostMapping("/sms") public String send(String phones) { Map<String, Integer> param = new HashMap<>(); param.put("code", 12345); return this.smsHelper.send(phones, param); } } send()方法参数如下 参数 描述 phones 11位手机号,多个用英文逗号隔开,上限为1000个 templateCode 短信模板code,必须是已存在且审核通过 signName 短信签名名称,必须是已存在且审核通过 param 短信模板变量对应的实际值 3、查询指定号码发送记录 /** * @author Gjing **/ @RestController public class SmsController { @Resource private SmsHelper smsHelper; @GetMapping("/sms_record") public String findSmsRecord(String phone) { return this.smsHelper.findSendDetail(phone, "2020-02-01", 1, 5); } } findSendDetail()方法参数如下 参数 描述 phone 11位手机号 sendDate 发送日期,格式:yyyy-MM-dd page 页数 row 每页条数,最大50 源代码地址:tools-aliyun

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册