1.一些常用集合相关方法:Set元素无顺序,取其中任意一个元素,可先转换成数组:set.toArray()方法;.map中有无某个key:map.containsKey("Key值")
一些工具:
2.SecureCRT工具,远程连接
3.Linux下,树莓派,文本编辑器nano,编译器 makefile
运行: sudo ./程序名 停止:ctrl C
4.SocketTool工具,建立程序host相应端口的client,程序作为service,可与程序建立TCP连接。
一些工作:
5.用C写,把一个char*按照16进制打印在文件上的函数
6.将asn文件解析成java文件,使用JAC工具,打开java文件后由于转换可能会出现一些错误,需修改原来的asn文件对应的地方,重新转换。
7.3GPP rrlp编解码
8.加ChannelHandler对接收到的数据进行处理,有数据时会触发channelRead方法。
9.H2数据库的使用,定义一个接口,继承CrudRepository,按一定规则命名增删改查方法,会自动生成bean和方法,再定义一个Service类,注入此接口来实现增删改查方法。
10.不用数据库中间件的话,要使用Hibernate注解,@Entity、@Id、@GeneratedValue(id不自动生成的话,需在加入数据库之前给id赋值)、@OneToOne、@JoinColumn等。
11.H2数据库查看:下载H2的jar包,直接点开bin文件下的jar文件,弹出浏览器窗口,H2控制台,输入JDBC url连接即可。程序和浏览器不可同时连,这点不方便。
12.提供REST接口:在controller类上加@RestController@RequestMapping("/iot")注解,在方法上加@RequestMapping("/url"),如@RequestMapping("/overview")。
13.使用curl访问REST接口,命令行中输curl命令,如:curl http://localhost:程序server端口/iot/overview
一些tips:
14.@PostConstruct,Spring注解,实现程序初始化
15.可用yml文件代替properties文件
一些问题的解决:
16.增强for循环,只执行了一次:循环体中,改变了集合中的元素,有删除之类的操作。可另建一个集合,进行加入元素等操作。
17.数据库中使用List,hibernate会用PersistentBag来实现,取数据的时候无法转为List。使用Set,hibernate用PersistentSet实现,不能转为HashSet,直接转为Set。
18.自动注入的bean,若使用了CGLIB代理,则会变成代理类,类名中含$$EnhancerBySpringCGLIB$$,提供REST接口转换成json时会报错,比较笨的方法:new一个对象,将注入的bean中的属性一个个set到新new出来的对象中。