首页 文章 精选 留言 我的

精选列表

搜索[应用接续],共10012篇文章
优秀的个人博客,低调大师

AliOS Things lorawanapp应用介绍

AliOS Things 是 AliOS 家族旗下的、面向 IoT 领域的、轻量级物联网嵌入式操作系统。文本旨在给大家示范一下其中的lorawanapp的示例,完成一个LoRaWAN网络的构建和数据传输,并通过该示例让大家对AliOS Things有一个初步的了解。 系统框架图: 如下分别介绍了基于VSC, IAR, Keil三个Toolchain的工程示例: 基于VSC 基于IAR 基于Keil 不同Toolchain下代码大小比较 Compiler Flash(KB) RAM(KB) Optimization Level gcc 61.26 6.67 -Os iccarm(IAR) 43.83 6.18 -O3 armcc(Keil) 42.64 6.20 -O3 *因为LoRaWAN协议栈内有浮点运算,而大部分跑LoRaWAN的mcu均不含硬件浮点能力,所以需要软件实现

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

java之mapstruct的应用

一、MapStruct是一个代码生成器,简化了不同的Java Bean之间映射的处理,所以映射指的就是从一个实体变化成一个实体。例如我们在实际开发中,DAO层的实体和一些数据传输对象(DTO),大部分属性都是相同的,只有少部分的不同,通过mapStruct,可以让不同实体之间的转换变的简单。我们只需要按照约定的方式进行配置即可。 MapStruct是一个可以处理注解的Java编译器插件,可以在命令行中使用,也可以在IDE中使用。MapStruct有一些默认配置,但是也为用户提供了自己进行配置的途径。 缺点就是这玩意在使用工具自带的编译器是,不会生成实现类,需要通过maven的方式来进行编辑,才会生成实现类,总体上面来说还是很好用的。相对于BeanUtil等,简介性还是很明显的。目前MapStruct的版本基本都是固定了,可以自己尝试着弄一下。 官方api文档地址:http://mapstruct.org/documentation/stable/reference/html/ 二、用到MapStruct需要一个依赖包和一个插件(pom.xml的官方配置) <dependencies> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>1.2.0.Final</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <!-- or higher, depending on your project --> <target>1.8</target> <!-- or higher, depending on your project --> <annotationProcessorPaths> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>1.2.0.Final</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> 三、我这里谢了一个简单的例子供参考 package com.troy.jpa.service.mapper; import com.troy.jpa.dto.UserDTO; import com.troy.jpa.entity.User; import com.troy.jpa.service.util.AgeUtil; import org.mapstruct.InheritConfiguration; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import java.util.List; @Mapper(componentModel = "spring", uses = {AgeUtil.class}) public interface UserMapper { @Mappings({ @Mapping(source = "age", target = "age", qualifiedByName = {"AgeUtil", "ageAdd"}), }) UserDTO userToDTO(User user); @InheritConfiguration User DTOToUser(UserDTO userDTO); List<UserDTO> userListToDTOList(List<User> users); } package com.troy.jpa.service.util; import org.springframework.stereotype.Component; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; @Component public class AgeUtil { public String ageAdd(String age) throws ScriptException { ScriptEngineManager engineManager = new ScriptEngineManager(); ScriptEngine engine = engineManager.getEngineByName("JavaScript"); Object eval = engine.eval(age + "+1"); return eval.toString(); } } 说明: 1)在接口上面加入@Mapper,就可以实现实体和DTO之间的装换 2)componentModel 是加入模块,一般都是spring容器,在实现类中会加入@Component注解 3)uses引入外部类,用于实体和DTO之间的工具类 4) 多个@Mapping在@Mappings里面编写,也可以单个编写@Mapping。如果实体和DTO之间数据字段一样,可以不加任何注解 5)qualifiedByName 的用法,主要是用来转换特殊数据处理的自定义方式。{}中第一个代表bean,第二种达标方法。 6)@InheritConfiguration 的用法,也就是反向映射。当source,target字段不一样,写第一个。其它的映射可以不用再写@Mapping,直接加入@InheritConfiguration注解即可 7)@Mapping 中的ignore 赋值 true可以忽略某个字段(这个主要是在字段相同,但是类型不同,并且不能装换的时候用) 四、当然我这里主要是写的几种常用的用法,mapstruct中还有其他的写法,和api我这里不一一介绍。我提到的主要是比较常用的写法,其他很多方式。可能会用到。但是可以作为自己学习的开始。

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

Android应用实例收藏管理

在当今这个移动互联网时代,大家都要通过手机上网,有很多喜欢的网站要进行收藏和管理,今天就给大家简单的实现这一个功能,见图: 1:我们定义一个layout/add.xml来实现主页面的布局: 2:还需要定义跳转页面布局layout/row.xml 3:具体实现功能主页面AddActivity.java 4:定义一个数据库帮助类DBHelper.java 5:实现跳转页面功能类QueryActivity.java 实现的功能有一些Bug,后期我会继续针对这些详细的介绍 本文转自 Art_Hero 51CTO博客,原文链接:http://blog.51cto.com/curran/511213,如需转载请自行联系原作者

资源下载

更多资源
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应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册