JeeSite相关技术摘点(四)

来源:互联网 发布:网络监控能看到啥 编辑:程序博客网 时间:2024/06/06 07:00

JMX(Java Management Extensions,即Java管理扩展)

是一个为应用程序、设备、系统等植入管理功能的框架,JMX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等
优点是可以非常容易的使应用程序被管理
主要作用是提供接口,允许有不同的实现

http://blog.csdn.net/u013256816/article/details/52800742
这种机制可以方便的管理、监控正在运行中的Java程序。常用于管理线程,内存,日志Level,服务重启,系统环境等。
https://baike.baidu.com/item/JMX/2829357?fr=aladdin
http://www.cnblogs.com/dongguacai/p/5900507.html

基于JMX动态配置Log4J日志级别:

http://blog.csdn.net/z2007130205/article/details/23910431

Spring与JMX集成

http://blog.csdn.net/shirdrn/article/details/6358688

@ManagedResource:

将类的所有实例标记为
JMX管理资源
使用@ManagedAttribute和@ManagedOperation来指定暴露的属性和方法。

mx4j 简单理解

http://blog.csdn.net/xy18930914/article/details/51220184

BeanMapper:

http://blog.csdn.net/guanfengliang1988/article/details/51557812

Dozer:

dozer是一种JavaBean的映射工具,类似于apache的BeanUtils。但是dozer更强大,它可以灵活的处理复杂类型之间的映射。不但可以进行简单的属性映射、复杂的类型映射、双向映射、递归映射等,并且可以通过XML配置文件进行灵活的配置。

在一个分层的体系结构中,经常会使用DTO、PO、VO等封装数据,封装数据到特定的数据对象中,然而在很多情况下,某层内部的数据是不允许传递到其它层,不允许对外暴露的,特别是在分布式的系统中,内部服务的数据对外暴露,也不允许不相关的数据传入到本服务,所以需要对数据对象进行转换。

前期对于很多程序员来说,数据转换都是通过手工编写转换工具类或工具方法来实现的,这样不仅没有针对性而且工作量很大,编写工具类重用性差,而且不灵活。所以,急需要使用一个通用的映射工具,通过配置或少量的编码就可以轻松的实现数据对象之间的转换,Dozer就是这样的映射工具,它具有通用性,灵活性,可重用性和可配置等特点,并且是开源的。

http://uule.iteye.com/blog/2084016
http://blog.csdn.net/windrui/article/details/52116999
http://blog.csdn.net/guanfengliang1988/article/details/51557812

Java与XML相互转换:

http://www.cnblogs.com/liuhaixu/p/4343479.html
http://blog.csdn.net/sunzuqiang/article/details/7780195
http://blog.csdn.net/5iasp/article/details/38492825

简单封装Jackson:

实现JSON String<->Java Object的Mapper:(JsonMapper):
http://blog.csdn.net/guanfengliang1988/article/details/51557370
http://www.xuebuyuan.com/1940062.html
http://blog.csdn.net/an_tao/article/details/45914825

public @interface (批注)

可以优化开发效率,是注解类, 就是一个生成javadoc时用到的注释类
是一个自定义的注解类

浅析VO、DTO、DO、PO的概念、区别和用处

VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性
DTO和VO的属性值基本是一致的,而且他们通常都是POJO,但是
DTO代表服务层需要接收的数据和返回的数据,而VO代表展示层需要显示的数据。

http://blog.csdn.net/zjrbiancheng/article/details/6253232

I18N(国际化):

springMVC源码分析–国际化LocaleResolver(一)
http://blog.csdn.net/qq924862077/article/details/52878507

CookieLocaleResolver:将语言信息设置到Cookie中,这样整个系统就可以获得语言信息
http://blog.csdn.net/rj042/article/details/23354225
springboot国际化(i18n)
http://wely.iteye.com/blog/2381461

Java注解之Retention、Documented、Inherited介绍:

http://www.jb51.net/article/55371.htm

@Retention(RetentionPolicy.RUNTIME)

定义的这个注解是注解会在class字节码文件中存在,在运行时可以通过反射获取到
http://blog.csdn.net/yixiaogang109/article/details/7328466
使用@interface 自定义注解
http://blog.csdn.net/cainiaoxiaozhou/article/details/50372631

数据库方言(Dialect):

如果没有对应的dialect,Hibernate是无法使用这种数据库进行对象关系转换的。
说白了,就是告诉Hibernate,将你写的那些HQL、QBC、、、、等等。翻译成哪种数据库的SQL
http://blog.csdn.net/jialinqiang/article/details/8679171
Hibernate 不同数据库的连接及SQL方言
http://www.blogjava.net/Alpha/archive/2008/04/15/193094.html
Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml
http://blog.csdn.net/tfy1332/article/details/20608489

Interceptor:拦截器

过滤器(Filter)和拦截器(Interceptor)的区别
http://blog.csdn.net/xiaodanjava/article/details/32125687
mybatis拦截器:
http://blog.csdn.net/u010837612/article/category/3206237
Mybatis最入门—分页查询(拦截器分页原理及实现)
http://blog.csdn.net/abcd898989/article/details/51261163

http://www.cnblogs.com/jethypc/p/5149183.html
mybatis常用分页插件,快速分页处理
http://blog.csdn.net/u014001866/article/details/52806930

SpringMVC中使用Interceptor拦截器
http://elim.iteye.com/blog/1750680

PaginationInterceptor:
http://www.codeforge.cn/read/261716/PaginationInterceptor.java__html

java操作数据库小工具–韩顺平SqlHelper:

http://blog.csdn.net/qq_25448409/article/details/50782450
java 版本SQLHelper
http://www.cnblogs.com/zhwl/p/3161972.html
http://blog.csdn.net/u013273686/article/details/39992933

mybatis常用分页插件,快速分页处理:

http://blog.csdn.net/u014001866/article/details/52806930
执行流程。
1.总体上是利用mybatis的插件拦截器,在sql执行之前拦截,为查询语句加上limit X X
2.用一个Page对象,贯穿整个执行流程,这个Page对象需要用java编写前端分页组件
3.用一套比较完整的三层entity,dao,service支持这个分页架构
4.这个分页用到的一些辅助类

@SuppressWarnings(“unchecked”)

告诉编译器忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息。

JavaEE笔记——BaseDao的使用

http://www.cnblogs.com/lz2017/p/6711169.html

BaseDao的思想就是把这些冗余的操作抽取出来,所以不需要在spring框架的applicationContext.xml中注册,这可能是与其他Dao不同之处。作为一个抽象出来的类,使用这个BaseDao可以使我们的代码更优雅

万能的BaseDAO和注解的应用
http://blog.csdn.net/a997208868/article/details/48216609

mybatis BaseDao封装
http://blog.csdn.net/johnf_nash/article/details/51707477
基于mybatis的BaseDao及BaseService深度结合
http://blog.csdn.net/yf275908654/article/details/50171607