小白实习工作总结(一)
- 常用方法
- 1.postgresql – to_number函数,
- 2.String类型的substring()函数
- 3.Calendar日期处理工具
- 4.比较to_char与to_date
- 5.百分数格式使用:
- Feign进行服务间的调用总结
- 1.工作总结
- 2.原理
常用方法
1.postgresql – to_number函数,
格式
To_number(varchar2 or char,’format model’)
//例如
area_id = to_number(#{areaId},'99')
2.String类型的substring()函数
substring(int beginIndex);//这个的作用为截取从beginindex位置处的元素开始,默认截取至剩余所有。
substring(int beginIndex, int endIndex);//这个的作用为截取从beginIndex开始,截取至endIndex-1位置间的元素。(从零开始,左闭右开)
3.Calendar日期处理工具
//取得当前时间
Calendar calendar=Calendar.getInstance();
//设置当前时间
calendar.setTime(new Date());
System.out.println(new SimpleDateFormat("yyy-MM-d H:m:s").format(calendar.getTime()));
//显示年
System.out.println(calendar.get(Calendar.YEAR));//2016-04-13 23:35:57
//显示月份
System.out.println(calendar.get(Calendar.MONTH)+1);//4
//显示星期几
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//4
//今年的第几天
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//104
//本月第几天
System.out.println(calendar.get(calendar.DAY_OF_MONTH));//13
//当前的分钟数
System.out.println(calendar.get(calendar.MINUTE));//44
//多少小时后
calendar.add(Calendar.HOUR_OF_DAY, 2);//还可以对天、月进行加减
4.比较to_char与to_date
to_char 是把日期或数字转换为字符串
to_date 是把字符串转换为数据库中得日期类型
使用TO_CHAR函数处理数字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
使用TO_CHAR函数处理日期
TO_CHAR(date,’格式’);
TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])
TO_DATE
使用TO_DATE函数将字符转换为日期
TO_DATE(char[, '格式'])
5.百分数格式使用:
NumberFormat nt = NumberFormat.getPercentInstance();//获取格式化对象
nt.setMinimumFractionDigits(2);//设置百分数精确度2即保留两位小数
Feign进行服务间的调用总结
1.工作总结
- 1.1注解使用:@FeignClient(“charge-center”)
- 1.2启动类使用:@EnableFeignClients
- 1.3双方添加依赖,调用方调用接口,被调用方需要有接口
- 1.4例如:
@FeignClient("mis-center")
public interface MisCenterServiceFeign {
@PostMapping("/mis/valve/saveFlowRx")
void saveFlowRx(@RequestBody LatelyFlowRx flowRx);
@GetMapping("/mis/valve/findMeters")
List<String> findMeters();
@PostMapping("/mis/valve/sendValveToRs")
JSONObject sendValveToRs(@RequestBody MisValve valve);
@PostMapping("/mis/valve/syncRsAreaToPubMis")
void syncRsAreaToPubMis(@RequestParam("list") List<AreaArchive> areaArchives);
@PostMapping("/mis/valve/pushValveState")
void pushValveState(@RequestBody ValveState valveState);
}
2.原理
- 2.1主程序入口添加了@EnableFeignClients注解开启对FeignClient扫描加载处理。根据Feign Client的开发规范,定义接口并加@FeignClientd注解。
- 2.2当程序启动时,回进行包扫描,扫描所有@FeignClients的注解的类,并且讲这些信息注入Spring IOC容器中,当定义的的Feign接口中的方法被调用时,通过JDK的代理方式,来生成具体的RequestTemplate.当生成代理时,Feign会为每个接口方法创建一个RequestTemplate。当生成代理时,Feign会为每个接口方法创建一个RequestTemplate对象,改对象封装可HTTP请求需要的全部信息,如请求参数名,请求方法等信息都是在这个过程中确定的。
- 2.3然后RequestTemplate生成Request,然后把Request交给Client去处理,这里指的时Client可以时JDK原生的URLConnection,Apache的HttpClient,也可以时OKhttp,最后Client被封装到LoadBalanceClient类,这个类结合Ribbon负载均衡发器服务之间的调用。