当前位置: 首页 > news >正文

介绍做素食的网站江阴网站建设培训

介绍做素食的网站,江阴网站建设培训,网站建设域名注册熊掌号,在线制作简历的网站软件开发整体介绍 软件开发流程 角色分工 软件环境 苍穹外卖 项目介绍 定位#xff1a;专门为餐饮企业定制的一款软件产品 技术选型 前端环境搭建 阅读readme文档 nginx.exe放入无中文目录运行并启动 后端环境搭建 项目结构 Nginx反向代理 优点 配置 Nginx反向代理 负… 软件开发整体介绍 软件开发流程 角色分工 软件环境 苍穹外卖 项目介绍 定位专门为餐饮企业定制的一款软件产品 技术选型 前端环境搭建 阅读readme文档 nginx.exe放入无中文目录运行并启动 后端环境搭建 项目结构 Nginx反向代理 优点 配置 Nginx反向代理 负载均衡 Nginx负载均衡策略 完善登录功能 导入接口文档 使用Apifox或者Yapi导入管理层和用户层的json接口文档 Swagger 介绍 使用方式 Swagger和Yapi 常用注解 公共字段自动填充 项目完成技术整理 做了三周。。。 开始的比较迟了。。 整理一下 分页查询 Controller返回PageResult Service  PageHelper.startPage(页码每页记录数)  封装PageResult并返回公共字段自动填充 对于insert、update操作类型可以使用切面进行统一拦截mapper并自动填充注解 实现思路枚举、注解、AOP、反射 自定义注解AutoFill用于标识需要进行公共字段自动填充的方法自定义切面类AutoFillAspect统一拦截加入了AutoFill注解的方法通过反射为公共字段赋值在Mapper方法上加入AutoFill注解具体步骤 创建annotationAutoFill 加注解 Target(ElementType.METHOD)//指定注解只能加在方法上Retention(RetentionPolicy.RUNTIME) 通过枚举方式指定加注解的当前数据库操作类型 public interface AutoFill {//数据库操作类型UPDATEINSERTOperationType value(); } 切面类aspect.AutoFillAspect--自定义切面实现公共字段自动填充 加入注解 Aspect //定义切面 Component //Bean 指定切入点autoFillPointCut Pointcut(execution(* com.sky.mapper.*.*(..)) annotation(com.sky.annotation.AutoFill)) public void autoFillPointCut(){} execution(所有返回类型 包.类.方法.(匹配参数类型)) 加入AutoFill注解annotation(自定义注解) 前置通知通知中给公共字段赋值  注解Before(autoFillPointCut())  例子 Before(autoFillPointCut())public void autoFill(JoinPoint joinPoint){log.info(开始进行公共字段自动填充...);//获取当前被拦截的方法上的数据库操作类型MethodSignature signature (MethodSignature) joinPoint.getSignature();//方法签名对象AutoFill annotation signature.getMethod().getAnnotation(AutoFill.class);//获得方法上的注解对象OperationType operationType annotation.value();//获得数据库操作类型//获取到当前被拦截的方法的参数--实体对象Object[] args joinPoint.getArgs();if (args null || args.length 0){return;}Object entity args[0];//准备赋值的数据LocalDateTime now LocalDateTime.now();Long currentId BaseContext.getCurrentId();//根据当前不同的操作类型为对应的属性赋值if (operationType OperationType.INSERT){//为四个公共字段赋值try {Method setCreateTime entity.getClass().getDeclaredMethod(AutoFillConstant.SET_CREATE_TIME,LocalDateTime.class);Method setCreateUser entity.getClass().getDeclaredMethod(AutoFillConstant.SET_CREATE_USER, Long.class);Method setUpdateTime entity.getClass().getDeclaredMethod(AutoFillConstant.SET_UPDATE_TIME, LocalDateTime.class);Method setUpdateUser entity.getClass().getDeclaredMethod(AutoFillConstant.SET_UPDATE_USER, Long.class);//通过反射为对象属性赋值setCreateTime.invoke(entity,now);setCreateUser.invoke(entity,currentId);setUpdateTime.invoke(entity,now);setUpdateUser.invoke(entity,currentId);} catch (Exception e) {e.printStackTrace();}} JoinPoint joinPoint 在AOP中我们知道描述切面的术语有通知advice切点pointcut连接点join point。    连接点joinPoint就是在应用执行过程中能够插入切面的一个点。这个点可以是调用方法时、抛出异常时、甚至修改一个字段时。切面代码可以利用这些点插入到应用的正常流程之中并添加新的行为。    这个类的主要作用就是可以让我们在Advice中获取被增强方法相关的所有信息。通过JoinPoint可以获取被代理方法的各种信息如方法参数方法所在类的class对象然后执行反射操作   getSignature()返回一个 Signature 对象此接口通常用于跟踪或记录应用程序以获取有关连接点的反射信息 redis 设置店铺状态 Spring Data Redis 导入maven 配置数据源application.yml redis:port: 8080 host: localhostdatabase: 0 编写配置类创建RedisTemplate对象 Configuration Slf4j public class RedisConfiguration {Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {log.info(开始创建redis模版对象...);RedisTemplate redisTemplate new RedisTemplate();//设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);//设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;} } 通过RedisTemplate对象操作Redis ValueOperations valueOperations redisTemplate.opsForValue(); Integer status (Integer) valueOperations.get(KEY); cpolar实现内网穿透获得临时网址 cmd进入cpolar.exe所在文件夹执行cpolar.exe http 80Spring Cache 缓存 启动类加入注解EnableCachingCacheable在方法执行前查看是否有缓存对应的数据如果有直接返回数据如果没有调用方法获取数据返回并缓存起来。CacheEvict将一条或多条数据从缓存中删除。CachePut将方法的返回值放到缓存中EnableCaching开启缓存注解功能 (cacheNames , key #user.id)cacheNames 指定要放到哪个名字的缓存key #result.id:result 表示返回值#p0.id或#a0.id或#root.args[0].id表示第一个参数的 id allEntries true选定所有键 Spring Task 定时任务处理 启动类加入注解EnableScheduling -- 开启任务调度task类编写定时任务处理方法方法前编写cron表达式表示多久触发一次方法 /*** 处理超时订单的方法*/Scheduled(cron 0 * * * * ?)//每分钟触发一次public void processTimeoutOrder(){log.info(定时处理超时订单{}, LocalDateTime.now());//查找超时订单LocalDateTime time LocalDateTime.now().plusMinutes(-15);//select * from orders where status ? and order_time (当前时间 - 15分钟)ListOrders ordersList orderMapper.getByStatusAndOrderTimeLT(Orders.PENDING_PAYMENT, time);} WebSocket 实现双向交互 websocket约定了一个通信的规范通过一个握手的机制客户端和服务器之间能建立一个类似tcp的连接从而方便它们之间的通信 在websocket出现之前web交互一般是基于http协议的短连接或者长连接 websocket是一种全新的协议不属于http无状态协议协议名为wsApache POI 执行文件导出 使用POI写入数据Apache POIstream好用呢
http://www.dnsts.com.cn/news/252473.html

相关文章:

  • 中山模板网站建设中美关系最新消息视频
  • 响应的网站seo优化网站排名
  • 桂林北站附近住宿电子商务专业就业前景如何
  • 安徽建站平台众筹网站怎么做
  • 四川省建设厅网站填报获奖福建省品牌建设促进会网站
  • 如何让网站上线h5模板制作软件
  • 常德举报网站做网站要多久
  • 广西建设厅建管处网站怎么用flashfxp上传wordpress
  • 网站上seo怎么做东莞市建设信息网
  • 郑州最好的建站公司建设网站的工具
  • 开发公司 网站建设价格it运维需要具备哪些能力
  • 关于加强政务网站建设的通知苏州移动网站建设
  • 移动网站和桌面网站区别服务支持型网站
  • 开县做网站sem优化软件哪家好
  • 企业网站做留言板有什么优势php怎么解析wordpress
  • 开展农业信息网站建设工作怎么自己制作网页新闻
  • 学建站论坛重庆招聘网有哪些
  • 学校网站建设说明材料十大财务软件
  • 济宁网站建设云科网络sem优化托管
  • 环球贸易网app昆明做网站seo
  • 优质的网站制作青海网站制作
  • 建设境外网站昆明猫咪科技网站建设公司
  • 做网站找谷谷网络比较好小程序定制公司设计方案
  • 用cms做网站的具体步骤做网站的客户需求报告答案
  • 如何建立网站后台程序网站建设实习报告范文
  • 依宝诺手表官方网站全球域名注册查询
  • 昆山有名的网站建设公司装宽带需要多少钱一个月
  • 视频网站做app开发的湘潭今天刚刚发生的新闻
  • 如何自己制作自己的网站seo研究协会
  • 医药网站建设客户的需求无锡网站设计服务