当前位置:首页 > 科技 > 正文

springmvc执行流程及原理 springmvc菜鸟教程

springmvc执行流程及原理 springmvc菜鸟教程

大家好,今天给各位分享springmvc执行流程及原理的一些知识,其中也会对springmvc菜鸟教程进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了...

大家好,今天给各位分享springmvc执行流程及原理的一些知识,其中也会对springmvc菜鸟教程进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

springboot和springmvc区别

springboot和springmvc区别:

springboot只是一个配置工具,整合工具,辅助工具.

springmvc是框架,项目中实际运行的代码

Spring框架就像一个家族,有众多衍生产品例如boot、security、jpa等等。但他们的基础都是Spring的ioc和aop,ioc提供了依赖注入的容器,aop解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。

SpringMVC提供了一种轻度耦合的方式来开发web应用。它是Spring的一个模块,是一个web框架。通过DispatcherServlet,ModelAndView和ViewResolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

SpringBoot实现了自动配置,降低了项目搭建的复杂度。它主要是为了解决使用Spring框架需要进行大量的配置太麻烦的问题,所以它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson,JDBC,Mongo,Redis,Mail等等),SpringBoot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)。

SpringBoot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用SpringMVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是SpringMVC做的而不是SpringBoot。

对使用者来说,换用SpringBoot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。

总结:

Spring最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个MVC框架(一些用Spring解耦的组件),用开发web应用(SpringMVC)。然后发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是SpringBoot。

所以,用最简练的语言概括就是:

Spring是一个“引擎”;

SpringMVC是基于Spring的一个MVC框架;

SpringBoot是基于Spring4的条件注册的一套快速开发整合包。

如何快速上手Spring boot

推荐以SpringBoot教程与SpringCloud教程的详细开源项目“SpringBoot-Learning”此项目内容为SpringBoot教程程序样例,对于SpringBoot的初学者来说非常有用,文末也列出了Spring相关开源项目,供大家交流学习。

1.SpringBoot-Learning部分样例:

快速入门

chapter1:基本项目构建(可作为工程脚手架),引入web模块,完成一个简单的RESTfulAPI使用Intellij中的SpringInitializr来快速构建SpringBoot/Cloud工程

工程配置

chapter2-1-1:配置文件详解:自定义属性、随机数、多环境配置等

Web开发

chapter3-1-1:构建一个较为复杂的RESTfulAPI以及单元测试chapter3-1-2:使用Thymeleaf模板引擎渲染web视图chapter3-1-3:使用Freemarker模板引擎渲染web视图chapter3-1-4:使用Velocity模板引擎渲染web视图chapter3-1-5:使用Swagger2构建RESTfulAPIchapter3-1-6:统一异常处理

数据访问、日志管理等等,项目地址:程序猿DD/SpringBoot-Learning-码云Gitee.com

2.项目名称:springboot实践学习案例springboot-learning-example

项目结构:

a.『基础-入门篇』

springboot-helloworld《SpringBoot之HelloWorld详解》springboot-properties《SpringBoot之配置文件详解》

b.『基础-Web业务开发篇』

springboot-restful《Springboot实现Restful服务,基于HTTP/JSON传输》《SpringBoot之RESRfulAPI权限控制》springboot-freemarker《SpringBoot集成FreeMarker详解案例》springboot-validation-over-json《SpringBootHTTPoverJSON的错误码异常处理》

c.『基础–数据存储篇』

springboot-mybatis《Springboot整合Mybatis的完整Web案例》springboot-mybatis-annotation《SpringBoot整合MybatisAnnotation注解的完整Web案例》springboot-mybatis-mutil-datasource《SpringBoot整合Mybatis实现Druid多数据源详解》

d.『基础–数据缓存篇』

springboot-mybatis-redis《SpringBoot整合Redis实现缓存操作》springboot-mybatis-redis-annotation《SpringBoot注解实现整合Redis作为缓存》

e.『其他篇』

springboot-elasticsearch《SpringBoot整合Elasticsearch,实现functionscorequery权重分查询》springboot-dubbo-serverspringboot-dubbo-clientDubbo服务提供者工程和Dubbo服务消费者工程《Springboot整合Dubbo/ZooKeeper详解SOA案例》《SpringBoot中如何使用DubboActivate扩展点》

SpringDataES篇

spring-data-elasticsearch-crud《SpringDataElasticsearch-基本案例》spring-data-elasticsearch-queryspring-data-elasticsearch-实战案例详解

项目地址:泥沙砖瓦浆木匠/springboot-learning-example-码云Gitee.com

Spring相关项目推荐:

1.项目名称:基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构

项目内容:基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。

项目地址:shuzheng/zheng-码云Gitee.com

2.项目名称:模块化开发系统ybg-spring-fast

项目简介:以SpringBoot为中心,模块化开发系统,用户可以随意删减除权限框架外任意的系统模块。复用,组装性强主要应用技术:springSecurity+Ehcache+quartz+swagger2+Mysql5.6+springjdbc+druid+springsocial+springsession+layerui+vue.js等。

项目地址:YYDeament/ybg-spring-fast-码云Gitee.com

3.项目名称:JAVA分布式快速开发平台iBase4J

项目内容:JAVA分布式快速开发平台:SpringBoot,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis缓存,Shiro权限管理,Spring-Session单点登录,Quartz分布式集群调度,Restful服务,QQ/微信登录,Apptoken登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel导入导出、FTP/SFTP/fastDFS上传下载、二维码、XML读写、高精度计算、系统配置工具类等等。

项目地址:iBase4J/iBase4J-码云Gitee.com

4.项目名称:JavaEE(J2EE)快速开发框架ThinkGem

项目内容:JavaEE(J2EE)快速开发框架,基于经典技术组合(SpringMVC、ApacheShiro、MyBatis、BootstrapUI),包括核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等。虽说很长时间没有大的更新了,但它的架构精良易于扩展深受大家喜爱,依然是中小企业的首选,它的功能设计、底层架构也非常具有参考意义、是学习入门的首选。关注我ThinkGem开源中国博客了解4.0最新动态。

项目地址:ThinkGem/JeeSite-码云Gitee.com

5.项目名称:Java快速开发平台MCMS

项目内容:完整开源,Java快速开发平台。基于Spring、SpringMVC、Mybatis架构,MStore提供更多好用的插件与模板(文章、商城、微信、论坛、会员、评论、支付、积分、工作流、任务调度等,同时提供上百套免费模板任意选择),价值源自分享!铭飞系统不仅一套简单好用的开源系统、更是一整套优质的开源生态内容体系。

项目地址:铭飞/MCMS-Gitee

6.项目名称:基于SpringCloud微服务化开发平台AG-Admin

项目内容:AG-Admin是国内首个基于SpringCloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWTToken、Mybatis等主要框架和中间件,前端采用vue-element-admin组件。

项目地址:老A/AG-Admin-码云Gitee.com

7.项目名称:轻量级的SpringBoot快速开发平台renren-fast

项目简介:renren-fast是一个轻量级的SpringBoot快速开发平台,其设计目标是开发迅速、学习简单、轻量级、易扩展;使用SpringBoot、Shiro、MyBatis、Redis、Bootstrap、Vue2.x等框架,包含:管理员列表、角色管理、菜单管理、定时任务、参数管理、代码生成器、日志管理、云存储、API模块(APP接口开发利器)、前后端分离等。

springmvc与数据库交互方式

在SpringMVC中,可以使用多种方式与数据库进行交互,以下是几种常见的方式:

使用JDBC:JDBC是Java数据库连接的标准API,可以通过JDBC与数据库进行交互。在SpringMVC中,可以使用JDBC来执行SQL语句,查询数据库并获取结果。

使用Spring的JdbcTemplate:Spring框架提供了JdbcTemplate类,它是对JDBC的封装,简化了JDBC的使用。JdbcTemplate提供了一系列方法,用于执行SQL语句、查询数据库并处理结果。通过配置数据源和使用JdbcTemplate,可以在SpringMVC中轻松进行数据库交互。

使用ORM框架:ORM(对象关系映射)框架可以将Java对象与数据库表进行映射,使得开发者可以使用面向对象的方式进行数据库操作。在SpringMVC中,可以使用ORM框架如Hibernate、MyBatis等来进行数据库交互。ORM框架可以通过配置文件或注解来定义实体类与数据库表之间的映射关系,并提供了一系列方法来执行数据库操作。

使用SpringDataJPA:SpringDataJPA是Spring提供的对JPA(Java持久化API)的封装。JPA是一种Java规范,定义了一组标准的API和注解,用于进行对象与关系数据库的映射。SpringDataJPA简化了JPA的使用,提供了一系列方法和注解,用于执行数据库操作。

以上是一些常见的与数据库交互的方式,在SpringMVC中可以根据需求选择合适的方式来进行数据库操作。

springmvc启动后,调用controller

controller中在方法名上面加@PostMapping(value="/login")注解在jsp中form表单为例:

<formaction="项目名称/login"></form>

springmvc中sql存储过程怎么写

在SpringMVC中,编写SQL存储过程可以使用JDBCTemplate,并创建DataSource,另外使用SimpleJdbcCall调用存储过程。

首先,在XML或Java中定义数据源,然后声明SimpleJdbcCall对象并设置存储过程的名称和参数,使用execute方法来执行该存储过程,即可成功调用SQL存储过程。该方法的好处是可以避免SQL注入攻击,提高安全性。

SpringBoot工作原理

通过浏览器访问springboot的方法,一般是以springmvc的方式,即创建对应的controller,在controller调用服务等内容,然后在浏览器中发送对应请求restful实现请求调用

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

最新文章