实现对接顺丰业务的订单管理系统

1.SpringMVC与前/后台的json数据交互
  https://blog.csdn.net/zmx729618/article/details/78779073
2.省、市、区三级联动(或者直接在jquery插件库中导入jquery插件)
  https://www.cnblogs.com/zhujiabin/p/4995591.html
3.dom4解析实例
  https://www.cnblogs.com/Toolo/p/JavaDom4j.html
4.Spring配置项的解释说明
  https://www.cnblogs.com/_popc/p/3972212.html
5.@Autowired注解与@Resource注解的区别与用法
  https://blog.csdn.net/changqi008/article/details/83003669
    使用@Resource注解在字段上,这样就不需要写setter方法了,并且这个属性是属于J2EE的,从而可以减少对spring的耦合
6.sql server 2008 安装提示 Restart computer failed
  https://zhidao.baidu.com/question/1239251825799710419.html?     qbl=relate_question_1&word=%D4%F5%C3%B4%BD%E2%BE%F6%B0%B2%D7%B0SqlServer2008%D7%DC%CA%C7%CC%E1%CA%BERestart%20computer%20as%20failed
7.Invalid bound statement (not found)错误的可能原因
  https://www.cnblogs.com/liaojie970/p/8034525.html
8.Java连接SQL Server 2008
  https://blog.csdn.net/qq243920161/article/details/78971861
9.前端导出json数据的js代码
  https://www.cnblogs.com/lxk233/p/10224164.html
10.后台三种遍历的方法的区别
  普通for\增强for\iterator
11.@ResponseBody和@ResquestBody的用法
  备注:每一个方法都要加ResponseBody??
12.开发中遇到的问题
  1)在本地上运行的项目没有问题,部署到服务器上出现三级联动没有数据
    问题所在:js文件中文乱码,导致数据无法显示
    问题分析和解决方法:文件所有的编码格式都是utf-8,在服务器上部署时,
    该文件的编码方式应该改为ASCII
  2)sqlserver数据库插入数据中文乱码,多种情况如下:
  解决方式:
    1.未建立数据表时
      建表时注意该表的排序方式为Chinese_PRC_90_CI_AS
    2.已建立数据表时,在不删除数据的情况下,将表带中文的所有的字段的排序方式改为Chinese_PRC_90_CI_AS,同时将数据类型改为nvachar
  3)ajax实现前端分页和文件导出功能的设计思路
    1.文件导出excel
      在通过ajax请求将返回的json数据结果集赋值给一个全局变量,将表头的中文字段定义成一个字符串之后,通过循环遍历json数据中对应相应的值。
      点击下载的实现效果通过var link=document.createElement("a")创立一个a标签,通过link.download=""创建一个文件名,将数据加入文件即可
    2.分页
    加入插件,将页数赋值给全局变量,控制循环输出的条数
  4)服务器版本为jdk1.7,本地jdk为1.8,控制所有的版本一致时,调用顺丰打印图片的jar包时老是报版本错误
    解决方式:看日志文件发现其错误指向jar包中的一个类,点开发现其编译版本为jdk1.8。由于jar文件无法重新编译,后将服务器的jdk改为1.8即可解决问题
    依据:jdk版本向下兼容
  5)数据库无法连接,报错信息:版本不兼容
    错误原因:换低版本的驱动包
13. @Autowired(required =false) MaterialMapper materialMapper;
14.JQuery选择器通过click事件获取当前点击对象的id,name,value属性
  https://blog.csdn.net/qq_34873338/article/details/71189938
15.断网报错BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

     配置文件有问题,简单的说本地没有该引用
16.单个字段太长,选择合适的长度显示,其余的部分隐藏起来然后可以在相应的字段加上悬浮框
17.配置数据库连接的时候报错版本不一致
  原因:驱动包的版本要对应
18.ajax数据传递json格式的数据到后台时,如果需要接受返回的值也需要在后台封装成相应的json数据格式,如果是boolean型的值,

  则仅仅只需要在前端success回调函数中编写true或者false  的逻辑代码
19。本地环境是jdk1.8,公司服务器是jdk1.7.在顺丰官网中sdk打印服务说的是jdk1.7及以上,
  无需重新改变自己的jdk版本,仅仅只需要将下载jdk1.7,并把自己的项目用jdk1.7编译。
  在部署到服务器时排除其他因素的干扰时,仍然是报版本错误。在仔细检查之后发现顺丰提供打印服务的jar包全部都是jdk1.8的,
  最后只能将公司服务器上的jdk换成1.8的。(jdk的运行环境和编译环境向下兼容,当然不同版本的tomcat需要对应相应的jdk版本)
20.在实现前端一些样式问题上,为了提升开发效率,可以到jquery库下载相应的插件(比如说时间插件,悬浮框,提示框,三级地区联动等)
21.在Springmvc框架中,我们无须在controller层传递httpServlet参数,引文springMvc会将前台传递的参数自动封装成对象
22.在ssm框架中,核心的配置就是每一层的扫描器,如@controller,@service,@component,配置好之后我们就可以直接使用相对应的对象了
  主要架构:mapper层写sql语句和方法接口
  service层直接调用mapper中对应的方法,controller层调用service层
  如果业务较为复杂,对查询的数据有处理逻辑代码,建议增加dao层作为mapper层的实现类,service层直接调用
  ps:spring注入的两种方式(1.注解 2.配置文件)
23.在ajax实现文件导出时,如果一个字段的值包含逗号,他会截取成两列,需要对字符串进行处理
24.日期的格式转换
  在sql语句层:convert(nvarchar,date,23)转换成YY-MM-DD的形式
  后台:SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");//设置日期格式
      orderid="ZY-"+df.format(new Date())+str;
  前台:fmt标签(导入标签库)、js、正则表达式,jsr 303、Hiberbate Validator(jsr 303 的扩展,导入5个jar包)
25.sql优化
    1.在表中建立索引,优先考虑where.group by使用到的字段。
  2.查询条件中,一定不要使用select *,因为会返回过多无用的字段会降低查询效率。应该使用具体的字段代替*,只返回使用到的字段。
  3.不要在where条件中使用左右两边都是%的like模糊查询,尽量在字段后面使用模糊查询
  4.尽量不要使用in 和not in,连续的数值用between
  5.尽量不要使用or,会造成全表扫描,用union
  6.尽量不要在 where 子句中对字段进行表达式操作,这样也会造成全表扫描。
  7.where条件里尽量不要进行null值的判断,null的判断也会造成全表扫描(给字段加默认值,例如0或空)
  8.尽量不要使用where 1=1的条件
  9.尽量不要在where条件中等号的左侧进行表达式.函数操作,会导致全表扫描
  10.程序要尽量避免大事务操作,提高系统并发能力。
  11.一个表的索引数最好不要超过6个
26.spring事务(简单的说避免程序出错导致对数据库的操作不完整,使用事务可以保持数据的一致性)
  https://www.cnblogs.com/yixianyixian/p/8372832.html
相关知识点:
  1.Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现
  2.Spring事务管理器的接口是org.springframework.transaction.PlatformTransactionManager
  3.跨越了多个事务管理源(比如两个或者是多个不同的数据源),你就需要使用JtaTransactionManager
  4.Hibernate多年来一直是事实上的Java持久化标准,但是现在Java持久化API作为真正的Java持久化标准
  5.使用spring声明式事务,spring使用AOP来支持声明式事务,会根据事务属性,自动在方法调用之前决定是否开启一个事务,并在方法执行之后决定事务提交或回滚事务
  6.事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
27.ssm框架以注解的形式实现事务管理
  https://blog.csdn.net/zhshulin/article/details/38108159
28.事务的隔离级别
  脏读:
  不可重复读:重点是修改
  幻读:在于新增或删除
29.Spring事务回滚机制理解
  spring aop 异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常,才能进行回滚,默认情况下aop只捕获runtimeexception的异常
  当异常被捕获时(catch)时,Spring事务则无法回滚,若想要让spring事务捕获到,则需要继续抛出异常
  理解:1.比如说上一个调用的方法对项数据进行了操作,但在后面的操作中抛出了异常,而在sping事务管理中又配置了该异常的捕获,则之前的操作会进行数据回滚
          2.另一种方式是用程序控制进行判断,避免出现该运行时异常
       3.spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
    https://www.cnblogs.com/dj66194/p/7654555.html
30.spring以注解的形式实现事务管理
  https://www.cnblogs.com/younggun/p/3193800.html
31.maven的使用
  https://www.cnblogs.com/gaojinshun/p/11252438.html
  1.整合ssm(springmvc)
  https://www.cnblogs.com/panda001/p/11247569.html
  2.聚合项目--使得项目复用性高
  3.Spring对数据校验支持的核心API:SmartValidator
  https://www.cnblogs.com/fangshixiang/p/11249498.html
33.数据校验
34.ssm整合quartz,纯注解开发(亲测简单实用)
  https://blog.csdn.net/weixin_43832604/article/details/88862926
  https://blog.csdn.net/f641385712/article/details/96638596
  https://blog.csdn.net/f641385712/article/details/96764829
35.JS替换所有逗号
  str = str.replace(/,/g, "");//取消字符串中出现的所有逗号

转载于:https://www.cnblogs.com/pamne/p/11280834.html

你可能感兴趣的:(实现对接顺丰业务的订单管理系统)