当前位置: 首页 > news >正文

上海市杨浦区建设小学网站咖啡网站开发

上海市杨浦区建设小学网站,咖啡网站开发,免费网站新域名,wordpress 安卓 管理欢迎关注我们的专栏 学透 Spring Boot 一、创建一个简单Web应用 本篇文章#xff0c;我们将会比较 Spring 框架和 Spring Boot 的区别。 什么是 Spring? 也许你在项目中已经可以很熟练的使用 Spring 了#xff0c;但是当被问到这个问题时#xff0c;会不会犹豫一下#…欢迎关注我们的专栏 学透 Spring Boot 一、创建一个简单Web应用 本篇文章我们将会比较 Spring 框架和 Spring Boot 的区别。 什么是 Spring? 也许你在项目中已经可以很熟练的使用 Spring 了但是当被问到这个问题时会不会犹豫一下停下来思索一番。 简单来说Spring 框架为开发 Java 应用程序提供了全面的基础设施支持。 Spring 框架提供了很多有用的特性比如IOC 和 AOP还有很多开箱即用的模块用一张图可以很直观的体现这一点 有了这些模块可以大大加快我们开发一个应用的速度。 就拿数据持久化举例我们的应用需要从数据库中读取数据时如果不用Spring JDBC也不用持久化框架比如Hibernate或MyBatis时我们直接操作JDBC。 在使用 JDBC 时我们需要手动创建数据库连接、执行查询语句、处理结果集等。 下次如果要存取另一张表的数据我们还需要把这些事再做一遍代码冗余而且大同小异结果集处理枯燥更容易出错。 public class StudentDAO {private Connection connection;// Constructorpublic StudentDAO() {try {connection DriverManager.getConnection(jdbc:mysql://localhost:3306/mydatabase, username, password);} catch (SQLException e) {e.printStackTrace();}}public void getStudents() {String sql SELECT * FROM students;try {PreparedStatement statement connection.prepareStatement(sql);ResultSet resultSet statement.executeQuery();while (resultSet.next()) {int id resultSet.getInt(id);String name resultSet.getString(name);int age resultSet.getInt(age);System.out.println(ID: id , Name: name , Age: age);}} catch (SQLException e) {e.printStackTrace();}} }但是如果我们使用 Spring JDBC我们的代码将会变得非常的简洁 public class StudentDAO {private JdbcTemplate jdbcTemplate;public StudentDAO(DataSource dataSource) {this.jdbcTemplate new JdbcTemplate(dataSource);}public ListStudent getStudents() {String sql SELECT * FROM students;RowMapperStudent rowMapper (resultSet, rowNum) - {Student student new Student();student.setId(resultSet.getInt(id));student.setName(resultSet.getString(name));student.setAge(resultSet.getInt(age));return student;};return jdbcTemplate.query(sql, rowMapper);} }当然使用Hibernate 和 MyBatis也一样非常的简洁这说明了使用框架带来的好处 打个比喻使用框架前相当于是骑自行车很多步骤都要我们手动完成但是有了框架就相当于开上了汽车我们只需要在乎最核心的几个环节就可以了其它都交给框架处理。 什么是 Spring Boot 可以说 Spring Boot 是 Spring 框架的扩展。它去除了开发 Spring 应用所需的样板配置。 简单点说Spring Boot 是基于 Spring 框架的它的作用是极大的简化了 Spring 项目的开发。 Spring Boot 给我们提供了很多: 提供了很多 starter 依赖引入一些模块变得非常简洁内嵌服务器如Tomcat等的方式让应用部署变得非常简单开箱即用的功能比如性能监控、健康检查等自动配置…… Maven 依赖对比 介绍完 Spring 和 Spring Boot我们再具体比较它们在多个方面的差异。 首先要比较的是 Maven 依赖的不同这也是我们开发项目尤其是项目前期时最重要的工作。 用 Spring 创建一个 Web 应用时我们至少需要引入下面几个依赖 dependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion5.3.5/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.3.5/version /dependency当然因为Maven的依赖传递实际被动引入的远不止这两个包 如果我们使用 Spring Boot将会变得更简洁 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion3.2.4/version /dependency甚至版本都不用声明默认会和 parent 依赖的版本一致。 在 IDEA 中打开 Maven 视图我们可以在依赖中清晰得看到依赖传递的关系starter-web 除了引入 spring-web 和 spring-webmvc 外还引入了另外两个starter starter-json 和 starter-tomcat而这两个starter 又引入了其它的依赖 所以可以看到通过这些 starter, Spring Boot 可以一次性引入一组依赖。Spring Boot 将我们经常配合使用的一组依赖进行打包并提供一个依赖项描述文件让我们可以轻松快速的集成这个模块。 starter不仅省去了我们要一个个配置依赖到手软的痛苦还避免了各种依赖间版本冲突或者不兼容的麻烦。 Spring Boot 的 starter 更深入的研究我们将在后面的章节专门介绍。 Spring Boot 为 Spring 模块提供了一系列的 starter 依赖 spring-boot-starter-data-jpaspring-boot-starter-securityspring-boot-starter-testspring-boot-starter-webspring-boot-starter-thymeleaf…… 还有很多很多完整的列表查看这里Spring Boot Starter 列表 MVC 配置对比 作为一个 Web 项目我们这里用整合 JSP 来对比 Spring 和 Spring Boot。 使用 Spring MVC 时我们通常第一件要做的事就是在 web.xml 配置 Servlet和映射 web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0context-paramparam-namecontextConfigLocation/param-nameparam-valuecom.baeldung/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listenerservletservlet-namedispatcher/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-value/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-namedispatcher/servlet-nameurl-pattern//url-pattern/servlet-mapping /web-app然后我们还要在配置类中启用MVC使用注解EnableWebMvc。还需要定义一个视图解析器这样可以解析视图并返回给控制器。 EnableWebMvc Configuration public class ClientWebConfig implements WebMvcConfigurer { Beanpublic ViewResolver viewResolver() {InternalResourceViewResolver bean new InternalResourceViewResolver();bean.setViewClass(JstlView.class);bean.setPrefix(/WEB-INF/view/);bean.setSuffix(.jsp);return bean;} }最后我们才开始编写 Controller。可以看到上面的配置非常的乏味而且绝大部分使用 Spring MVC 的项目配置基本都大同小异这就是所谓的模版配置。 但是如果我们使用的是 Spring Boot你只需要在 application.properties 中添加两行配置即可 spring.mvc.view.prefix/WEB-INF/jsp/ spring.mvc.view.suffix.jsp恭喜你你的 Spring MVC 已经配置好了。 所有的 Spring 配置 都会被 Spring Boot 自动完成也就是传说中的自动配置。 自动配置是Spring Boot 提供的一个非常强大的特性这里再挖个坑后面的章节会深入研究。 应用启动 我们需要把 Spring 开发的 Web 项目运行起来还需要很多工作 在 web.xml 中配置 ContextLoaderListener 和 DispatcherServlet把我们的 Web 应用导出war包部署和配置 Tomcat 服务器把 war 包部署到Tomcat指定路径然后启动 Tomcat 但是如果你使用的是 Spring Boot那么你只需要做一点点工作 通过mvn把应用打包成 jar 包mvn package通过 java 命令启动 jar 包java -jar skyboot.jar 这样你的 Web 应用就启动了完全不用任何的配置是不是非常的简便 再挖一个坑后面的章节会深入学习 “内嵌 Tomcat”的原理。 总结 通过上面的 依赖配置、MVC 配置、应用启动 几个角度对比了分别使用 Spring 和 Spring Boot 的难以程度结果不言而喻。其实 Spring Boot 比我们本文演示的还要强大的多这在我们后面的文章会一一介绍。 试想想如果我们要使用 Spring 开发很多个微服务是件多么棘手的事就算不从零开始配置复制粘贴改一改也是很大的工作量而且极容易出错。 但是如果使用 Spring Boot开发一个应用变得手拿把攥。 这就是 Spring Boot 的意义让 Spring 应用的开发和部署变得非常简便。
http://www.zqtcl.cn/news/547779/

相关文章:

  • 怎么查网站备案的公司wordpress 无刷新评论
  • 学前心理学课程建设网站百度极速版下载
  • 佛山做营销型网站建设深圳宝安区租房
  • 做汽车团购的网站建设营销方案有哪些
  • 做设计的网站网络公关什么意思
  • 一般课程网站要怎么做做钓鱼网站软件下载
  • 济南网站建设92jzh收不到wordpress的邮件
  • 一键优化在哪里打开新手怎么入行seo
  • 网站建设的费用明细创建公司网站需要注意什么
  • 微网站怎么做的好宣传片拍摄服务
  • 抚州网站开发机构wordpress开源
  • 企业营销网站建设不属于网页制作工具
  • 呼和浩特网站建设信息建服装类网站需要考虑的因素
  • 百度站长平台工具南京开发app的公司
  • 济南如何挑选网站建设公司设计 网站 现状
  • 网站开发建设流程图wordpress 插件 简码
  • 信宜网站开发公司阿里指数app下载
  • AAP网站开发需要多少钱网站核验通知书
  • 网站续费模板wordpress安装到ESC
  • 网站网址大全做商品条形码的网站
  • php购物网站开发成品各大网站收录提交入口
  • 怎么办个人网站网络管理系统中故障管理的目标是
  • 想做网站的客户在哪找下载网站系统源码
  • 网站建设是固定资产还是列费用soho做网站
  • 学校建设评建工作网站应用中心软件
  • 网站建设公司如何拓宽业务跨境进口网站怎么做
  • 邢台企业建站速卖通网站怎样做店面的二维码
  • 网上竞价采购网站建设wordpress添加发布视频
  • 隐形眼镜网站开发的经济效益微企点自助建站系统
  • 延庆网站建设优化seo中山百度seo排名公司