两年Java工程师开发技术使用和感受

       Java提供了丰富的功能,能满足大多数业务和技术要求场景,但Java本身提供的这些功能并不是太好,因此便有了各种各种的框架;比如Java的日志系统,对应的框架有log4j,log4j2,logback,slf4j等等;Java的线程池,对应的框架有c3p0,druid等等。所有的Java框架都在Java本身中有对应物。所以在目前的Java开发中要引入各种不同的jar文件来满足快速开发的要求。下面谈谈本人在开发过程中用到的技术和感受。

一、Spring系列

        Spring系列的框架是在Java开发中最受欢迎的框架,它足够轻量,学习起来容易,重要的是提供了各种丰富的功能(甭管你会不会用到)。

        1>Spring   Spring就是一个bean容器,用来管理bean的创建和依赖关系以及bean的生命周期。由listener来启动。

        2>SpringMVC  SpringMVC是一个web框架,主要是为了快速开发接口。它提供了丰富的功能,如AOP,声明式事务,事务管理等等。

二、ORM

        1>MyBatis  MyBatis是比较流行的ORM框架,就使用上来说,个人认为它最主要的特点是提供了对数据关系进行自动映射(当然需要程序员写好映射关系)的功能,比如一对多的数据关系使用collection就能自动完成封装。

            1.1>PageHelper  这个东西算是MyBatis的一个附属品,用来做分页的。用它就可以避免在写分页数据的时候,再写一个对应的统计SQL。大多数情况下是比较好使用的,但是它不支持for update 和 嵌套结果映射。

            1.2>Mapper4 这个东西的作用就是对于常规的CRUD不用再写SQL。什么是常规的CRUD?个人理解就是对单表的CURD就是常规的CRUD。和MyBatis 的常规Mapper配合使用可以省不少事情。

  2>SpringJDBC Spring自带的ORM。严格来说它不能算是ORM框架,因为需要开发人员自己处理结果集和JavaBean的对应关系。它不能处理数据关系,需要开发人员根据业务需要自己处理,因此可能执行的SQL多一些。

 

三、框架的个性化

         大多时候,框架本身能满足开发的需要,当不能满足的时候就要自己定义一些框架组件,这就是框架提供的扩展性。所有的框架都应该提供了扩展点来满足不同业务场景的需要。个人在使用框架的过程中发现扩展点大致有三种(这里重点是跟业务相关的):

        1>Interceptor  SpringMVC提供的拦截器扩展,当然还有Formmter,HttpMessageConverter。

        2>Filter   DruidDataSource使用Filter来对SQL进行执行前和执行后的各种处理

        3>Adapter  这种方式在SpringBoot中使用较多。对应Spring中的拦截器、过滤器,消息转换器等等。

你可能感兴趣的:(javaEE,java框架)