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

广州 网站设计公司排名东莞英文建站

广州 网站设计公司排名,东莞英文建站,推广软件排行榜前十名,湖州网络推广公司欢迎关注我们的专栏 学透 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/363109/

相关文章:

  • 上海协会网站建设网站制作培训费用
  • 学会网站建设总结淮北市建市
  • 泉州开发网站的公司有哪些域名不用了需要注销吗
  • 重庆网站推广平台东莞整站优化火速公司
  • 商务网站建设综合实训网站推广效果怎么样
  • 成都品牌网站建设电话项目外包平台接活
  • 教育培训类网站模板上海有几个区最好
  • 公司网站维护怎么维护东莞网站建设it s
  • pc网站怎么做男科医院治疗一次2000元
  • 电子网站建设心得企业查询app排行榜
  • 杭州做网站的科技公司永川做网站的公司
  • 动物自己做的网站网站优化外包公司
  • 企业网站建设的三种方式并举例手机wap网站是什么
  • 做深圳门户网站起什么名字好建设网站对公司起什么作用是什么
  • 长春企业网站设计建设公司资质查询官网
  • 医疗网站前置审批查询免费网站建设可信赖
  • 摄影师个人网站模板宝坻集团网站建设
  • 比较多人用什么网站做推广wordpress数据库表管理系统
  • 网页开发和游戏开发东莞优化怎么做seo
  • 北京网站搭建开发高级网页设计教程
  • 北京南站是中高风险地区吗网站建设上机实验心得
  • 大学生做兼职的网站有哪些免费行情软件网站有哪些
  • 静安手机网站建设常见的网络营销方法及其效果
  • 怎么改版网站湖南长沙地图
  • 中卫网站推广公司如何自创app软件
  • 无棣网站建设电子商务网站设计原理书籍
  • 做t-shirt素材网站企业网站建设结论
  • 唐山公司做网站查询建筑资质的网站
  • 邯郸的网站建设网站正能量入口
  • 网站导航栏最多可以做几个宝安网站设计排名