日常总结(4)
----------------------20161222-----------------------
1、使用<![CDATA[...]]>
他可以保证无论如何<![CDATA[...]]>里面的内容都会被解析成SQL语句。因此
建议每条SQL都使用,这是一种规避错误做法!
2、使用resultMap来接受查询结果
使用resultType接受查询结果是有前提的,那就是假定列名与java bean中属性名存在对应关系,
如果不对应,也可以采用如下方法:
select student_id as "studentId",student_name as "studentName",student_age as "studentAge",
student_phone as "studentPhone" from student where restudentUd>#{id};
但是这样非常繁琐,我们可以采用resultMap方式来解决列名不匹配问题。
3、log4J中日志级别有下面的关系;
all<debug<info<warn<error<fatal<off
log4j在写日志的时候,只有当 当前写日志级别大于等于当前日志实例中配置级别时,日志写操作
才会生效,比如:当前日志配置为info,那么log.info会写成功,而log.debug则不会写成功!
4、 leetcode、剑指Offer、编程之美等等
5、sso-client取得令牌并校验
String token=UUID.randomUUID().toString();
6、三年工作经验程序猿应有的技能:
(1)三年:
三年对于程序员来说是第一个门槛,这个阶段会淘汰掉一批不适合写代码的人。这个阶段,我们走出校园,
迈入社会,成为一名程序员。
我们知道如何团队协作,如何使用项目管理工具,版本控制工具,写的代码如何测试,如何在线上运行
等等,积累一定开发经验,也对代码有了一定深入的认识,是一个比较纯粹的coder阶段;
----------------------20161226-----------------------
1、spring具有良好发育的生态环境提供了许许多多的附加选择:
(1)REST API:
(2)SOAP web服务:
(3)安全:(认证、授权、加密)
大公司的开发者同行都在使用这个java框架。
Spring成为最知名的java框架是因为:
(1)简单的POJO测试数据注入
(2)增强过的模块化,因此更好的代码可靠性;
(3)不同模块之间解耦和;
(4)能灵活运用依赖注入。
2、JSF:javaService faces
3、IDE:开发组建(eclipse、myeclipse、qute等)
4、SOAP header(cxf)
5、原生json
对象:{}
数组:[]
符合json格式就可以
6、mybatis中重写toString方法:
对实体类重写toString方法,打印其中每一个属性是一个推荐的做法。
(1)config.xml(MyBatis)
<config>
<typeAliases></typeAliases>
<environments>
<environment id="">
<dataSoruce>
<environment>
</environment>
</config>
当SSM整合时,可以将dataSource删掉,因为使用数据库连接池会在application.xml中进行配置
(2)application.xml(spring)
1)<tx>:注解的配置
context、component-scan
2)数据库连接池配置(datasource)
3)beans配置(sqlSessionFa
ctory、configLocation、mappersLocation、datasource)
4)事务管理:
7、hibernate.dialet
8、负载均衡
load balance 指有多台服务器以对称的方式组成一个服务器集群,每台服务器都具有等价的地位,都可以但对
对外提供服务而无需其他服务器的辅助。
通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器,而接受到请求的
服务器独立的回复客户请求。
负载均衡能够平均分配客户请求到服务器阵列,借此提供快速获取重要数据,解决大量并发访问服务器问题,
这种集群技术可以用最少的投资获取接近于大型主机的性能图。
负载均衡分为软件负载均衡和硬件负载均衡,前者代表 LVS,后者如F5。
将外部发送来的请求均匀分配到对称结构中的某一台服务器上的各种算法
Set<String> keyset=serverMap.keySet();
Iterator<String> iterator=keyset.iterator();