Java框架部分阶段性学习

1.常用框架

1.SpringMVC

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架

模型(Model):封装了应用程序的数据和一般他们会组成的POJO。

视图(View):是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。

控制器(Controller):负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。

执行流程:1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。 3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。 4.DispatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter执行HandlerAdapter处理一系列的操作,如:参数封装,数据格式转换,数据验证等操作 5.执行处理器Handler(Controller,也叫页面控制器)。 6.Handler执行完成返回ModelAndView 7.HandlerAdapter将Handler执行结果ModelAndView返回到DispatcherServlet 8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器 9.ViewReslover解析后返回具体View 10.DispatcherServlet对View进行渲染视图(即将模型数据model填充至视图中)。 11.DispatcherServlet响应用户。

2.Spring

IOC容器

IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表者。

AOP

简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系。

3.Mybatis

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

总体流程:

(1)、加载配置并初始化

触发条件:加载配置文件

将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。

(2)、接收调用请求

触发条件:调用Mybatis提供的API

传入参数:为SQL的ID和传入参数对象

处理过程:将请求传递给下层的请求处理层进行处理。

(3)、处理操作请求

触发条件:API接口层传递请求过来

传入参数:为SQL的ID和传入参数对象

处理过程:

(A)根据SQL的ID查找对应的MappedStatement对象。

(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。

(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。

(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。

(E)释放连接资源。

(4)、返回处理结果将最终的处理结果返回

MyBatis 最强大的特性之一就是它的动态语句功能。如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略一个逗号等。动态语句能够完全解决掉这些痛苦。

以上就是Java常用的框架有哪些的详细内容。
 

由于本人常用Springboot+Mybatis Plus框架写程序,所以详细介绍

Springboot+Mybatis Plus

1.首先是创建程序

 

 

2.创建完毕后建立连接

 3.建立用于自动生成的类

public class Gen {
    public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/crm?serverTimezone=Asia/Shanghai",
                                 "root", "123456")
                .globalConfig(builder -> {
                    builder.author("XX") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("F:/Java/crm/src/main/java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.hqyj.crmdemo");// 设置父包名
                            //.moduleName("user") // 设置父包模块名
                            //.pathInfo(Collections.singletonMap(OutputFile.xml, "F:/Java/框架/crm")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {//实体表全部
                    builder.addInclude("user","sale_chance","role","orders","dev_plan","customer_loss","custmer",
                                        "contact","business_record") // 设置需要生成的表名
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();

    }
}

 这个类方便我们后续自动生成对应数据库的实体类等,然后运行程序

 运行过后自动生成过后的效果图如下

记到添加要扫描的包在哪个目录下

 4.然后就可以在service包下写自己需要的业务方法

 

这里的各种增删改查的方法调用的是框架封装好的方法 

总结

整个框架部分的学习大概就是如上所示,框架部分能够更快的让我实现一些简单的业务流程,所以使用框架来编写程序对于程序员来说相对轻松很多,如果框架封装的方法满足不了需求,可以自己重写方法来满足需求。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值