实习总结(二)——常用技术细节和其他

来源:互联网 发布:pdo php extension 编辑:程序博客网 时间:2024/05/21 09:36
1.用maven管理项目,根据功能将项目分成几个独立的模块,模块之间可相互独立也可有依赖关系,良好的管理大型项目的思想
比如 微信端 APP接口端 PC端 后台管理 他们互相独立 但是又都依赖了几个基础功能模块包 复用的思想
2.分层思想 对于一个功能 从纵向上分层 java web中常用的就是action或者controller作为控制层 service作为服务层 为控制层提供服务 dao层作为数据连接层 为服务层提供数据库连接服务或者redis等其他数据支持 当然 具体的项目可以根据本身架构和实际情况分为更多的层 但是层次之间的调用关系特别清晰
3.bean在java中的角色十分重要 它不参与层次之间的调用关系 但是却是用来承接数据的工具 我们可以这样理解 bean就是一个数据结构 里面是各种属性 我们用这些属性得到数据库或者其他地方的数据 放到bean中 然后在其他地方或者html页面中进行处理
4.如果用spring来管理javaweb项目的话,一个是在xml配置文件中配置依赖关系 一个是使用注解和自动注入的方式 一般我们项目中经常使用后一种
5.只要使用了配置文件或者注解,就表示这个类被spring管理起来了,一般bean不被spring管理,把它当成其他的工具类一样,使用的时候new即可
6.service中接口的思想 面向接口编程 提供给service中的都是接口 控制类只知道接口提供的功能 无需关注具体实现
7.在大型项目中,会使用很多的工具类,它们是一些常用方法的合集 比如字符串处理类 时间处理类 文件处理类 有些类是自己写的 有些就是开源的jar包 学会使用和自定义常用工具 学会寻找一个高效的开源工具jar 可以提高开发效率
8.可以这样理解 bean也是一个工具类
9.继承的思想 基类 比如baseAction 
10.static final经常用来定义一些常量 两个关键词结合使用 常量名一般大写 用下划线连接
11.日志 用什么日志工具都可以 关键是在每一个方法中都要打印出日志 刚进入方法 方法执行完毕 方法出现异常 这样在出错的时候方便定位错误
12.json和bean的转换十分频繁 两者起到的作用完全相同 用转化工具可以很方便的转化 具体使用什么根据实际情况
13.action通过spring提供的RestTemplate进行远程调用 将参数通过map bean或者其他传入
14.可以看到 在java web项目中 map也是十分重要的 经常和bean json互相转换 用来传递参数
15.本项目使用的是slf4j日志管理工具
16@RestController spring提供的用来和rest客户端交互的服务器端注解
17.rest服务器端接受客户端传递过来的参数 使用注解@RequestBody 传递过来的是json或者map 接收的时候可以使用map或者对应的bean都可以 会自动解析并把值赋给参数
18.bean json map之间的自动转换依赖于字段的名称相同,这样解析的时候才知道对应的属性是什么
19.在接触一个项目时 先花几天时间读懂代码和架构十分重要
20.看一个项目 理解他的基类和常用工具类对理解业务也是十分重要的
21.dao层是一个接口 它和mapper xml映射起来
22.在service层中统一返回处理结果 是成功 还是失败 有统一的返回码 大型项目必须考虑这些 就是返回各种情况都要处理到
23.在biz层做分页和负载均衡 基类baseBiz中做处理和分页
24.在java中一定重视try catch 提高程序的健壮性和容错能力
25.PageHelper在后台为mybatis分页 
26.设置主从库 插入、更新、删除 对主库进行操作 查询一般对从库进行查询 对于特别重要的查询也要在主库查询 因为主从库同步有时间差
27.其实工具类也可以被spring所管理 只要加入注解 然后自动注入即可
20.spring对redis的管理RedisTemplate类
21.java web的负载均衡 
22.mybatis对数据库的操作 增删改查 将一个对象作为参数传入mybatis 然后#{}会根据属性名称自动解析 
23.mybatis常用的动态sql操作 if判断属性是否为空或者null 
24.传入参数 传出参数
25.action或者controller主要是和前台jsp页面进行交互 这里最重要的就是参数的互相传递 如何从前台传递参数到后台 如何从后台传递参数到前台
26.用modelandview来进行页面跳转和参数传递
27.肯定是先请求action 才进入相应页面 所以逻辑从action开始梳理 梳理参数的传递性
28.肯定需要在前后台之间互相传递当前页和每页大小,所以可以将他们统一放到bean中,不管什么bean,有什么属性,肯定有分页相关的两个属性
29.java中不同类型之间的转化
30.在前台页如何获取mav传递过来的参数?通过${}在里面获得参数用${名称.属性}的方式获取
31.将前台的查询条件通过form表单 id和name传到后台 后台可以通过request得到参数 spring也会把参数自动根据字段装配到bean中,方便我们使用
32.然后我们把这个bean通过mav传回到页面 方便参数的回显和保存 可以这样理解 value中显示后台传过来的值 id和name负责往后台传递值 赋值回显
33.可以把一些属性隐藏在form表单中 传到后台获取参数
0 0
原创粉丝点击