什么是框架?为什么要学框架?

这篇具有很好参考价值的文章主要介绍了什么是框架?为什么要学框架?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是框架

框架是整个或部分应用的可重用设计,是可定制化的应用骨架。它可以帮开发人员简化开发过程,提高开发效率。

项目里有一部分代码:和业务无关,而又不得不写的代码==>框架
项目里剩下的部分代码:实现业务功能需要的逻辑代码
简而言之,框架是一个应用系统的半成品,开发人员在框架的基础上,根据业务需求开发功能。即:别人搭台,你唱戏。

二、为什么要学框架

1. 学习框架相当于从 小作坊 工厂 的升级,小作坊什么都要自己做,工厂是组件式装配,特点就是高效。
2. 框架更加易用、简单且高效。

三、框架优点展示(SpringBoot VS Servlet)

使用 Spring Boot 项目演示框架相比于 Servlet 所具备的以下优点:
1. 无需配置 Tomcat ,点击 运行 按钮就可以运行项目, Spring Boot 内置了 Web 容器(可直接运行)。
2. 快速添加外部 jar 包。
3. 快速发布项目(使用 java -jar 方式就可以发布)。
4. 对象自动装配。
5. ......
使用 SpringBoot Servlet 对比 ,演示一个用户添加的案例,展示以上优点。

3.1 Servlet 项目开发

3.1.1 创建项目

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架

3.1.2 添加引用

打开 https://mvnrepository.com 搜索 servlet 添加框架应用到 pom.xml 中,如下图所示:

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 PS:其中还需要注意使用的版本号

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 在项目中右键添加源代码文件夹,如下图所示:

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 

3.1.3 添加业务代码

配置路由文件 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>user</servlet-name>
<servlet-class>UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>user</servlet-name>
<url-pattern>/user</url-pattern>
</servlet-mapping>
</web-app>
添加实体类:
public class User {
private Integer id;
private String name;
private Integer age;
private String password;
// 其他属性...
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return String.format("{id:%d,name:%s,age:%d,password:%s}",
id,name,age,password);
}
}
添加控制器:
import java.io.IOException;
public class UserServlet extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws
javax.servlet.ServletException, IOException {
this.doGet(request,response);
}
protected void doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws
javax.servlet.ServletException, IOException {
User user = new User();
user.setId(Integer.parseInt(request.getParameter("id")));
user.setName(request.getParameter("name"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setPassword(request.getParameter("password"));
// 获取其他字段.....
System.out.println(user.toString());
response.setContentType("text/html");
response.getWriter().println(user.toString());
}
}

3.1.4 运行项目(配置tomcat)

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 

3.1.5 Servlet 痛点分析
1. 添加外部 jar 不方便,容易出错,比如添加了一个不匹配的外部 jar 版本;
2. 运行和调试的时候需要配置 tomcat 不方便;
3. 发布不方便, servlet 项目必须依靠外置的 tomcat (外置的 web 容器)运行。
4. 路由配置不方便,一个访问地址对应一个 Servlet 类。
而以上痛点问题,都可以通过 JavaEE 进阶框架解决,接下来我们一起来看。

3.2 SpringBoot 项目开发

3.2.1 创建并添加引用

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 选择 SpringBoot 版本和添加外部引用:

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架 3.2.2 添加代码并运行程序

用户实体:
import lombok.Data;
@Data
public class User {
private Integer id;
private String name;
private Integer age;
private String password;
}
添加控制器:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/user")
@RestController
public class UserController {
@RequestMapping("/add")
public String add(User user){
return user.toString();
}
}
点击调试按钮即可运行项目:
什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架
访问地址: http://localhost:8080/user/add?id=1&age=18&name=java&password=123
即可运行项目,如下图所示
什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架

3.2.3 发布程序

使用 jar -jar xxx.jar 直接发布程序:

什么是框架?为什么要学框架?,框架,java,intellij idea,spring,框架文章来源地址https://www.toymoban.com/news/detail-605245.html

3.2.4 SpringBoot VS Servlet

SpringBoot 相比于 Servlet 的优点总结:
1. 添加外部 jar 更容易,不易出错(版本问题无需关注);
2. 调试项目更加方便,无需配置 Tomcat
3. 发布项目更加方便,无需配置 Tomcat
4. 添加路由更加方便,无需每个访问地址都添加一个类。
现在我们已经知道了框架的优点了,哪怎么去学呢?

四、怎么学框架?

  • 先从基础框架 Spring 开始(工具箱)
  • Spring Boot 快速开发 Spring 脚手架
  • MyBatis 快速操作数据库
  • 其他:日志、事务、拦截器....
框架学习中需要注意什么呢?

四、框架学习中的难点

1. 配置比较多。
2. 需要大量的外部 jar 包,在下载时容易出错。
3. 会涉及简单的软件工程的设计思想(分层思想:前、后端的分层思想,及后端工程的分层思想)。
4. 知识点相对来说比之前的知识更加的分散,要仔细学习才能搞懂各个知识点的逻辑关系。
5. 要记的东西很多,所以要大量地重复练习才能记住,比如各种注解。

到了这里,关于什么是框架?为什么要学框架?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringMVC 程序开发:为什么要学SpringMVC?如何学SpringMVC?

    学习 SpirngMVC 首先我们要先知道 SpringMVC 是什么。 SpirngMVC 的全名是 Spring Web MVC ,基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称 Spring Web MVC 来自其源模块的名称(Spring-webmvc),在平常我们称它为 Spring MVC 。 上述最重要的两个关键信息: Sprin

    2024年02月12日
    浏览(51)
  • 【走进Java框架】什么是Java框架,为什么要学习Java框架.

    前言: 大家好,我是 良辰丫 ,今天我们就要开始Java框架之旅了,我们在学习的征途中不断充实自己,提升自己的能力,加油哈,自我勉励一下,跟随我的步伐,一起前行哈.💌💌💌 🧑个人主页:良辰针不戳 📖所属专栏:javaEE进阶篇之框架学习 🍎励志语句:生活也许会让我们遍体鳞

    2024年02月07日
    浏览(42)
  • 为什么Spring和IDEA不推荐使用@Autowired注解,有哪些替代方案?

    在使用Spring框架和JetBrains IDEA集成开发环境(IDE)进行Java开发时,你可能经常会遇到@Autowired注解。@Autowired是Spring框架中用于实现依赖注入的核心注解之一。然而,近年来,Spring和IDEA都不再推荐使用@Autowired注解,并提出了更好的替代方案。本文将详细分析为什么Spring和IDEA不

    2024年02月07日
    浏览(62)
  • Spring和IDEA都不推荐用的@Autowired注解,为什么还有那么多人用?

    @Autowired的默认装配 我们都知道在spring中@Autowired注解,是用来自动装配对象的。通常,我们在项目中是这样用的: 没错,这样是能够装配成功的,因为默认情况下spring是按照类型装配的,也就是我们所说的byType方式。 此外,@Autowired注解的required参数默认是true,表示开启自动

    2023年04月18日
    浏览(60)
  • 一篇带你肝完Python逆向为什么要学webpack,学完之后到底又该怎么用?

    大家好,我是辣条哥! 之前讲了很多关于基础方面的内容,从本章开始辣条我会开始慢慢开始跟大家解析一些进阶知识以及案例 废话不多说今天我们就深入解析一下webpack,我们先聊一下Python逆向工程为什么还要学习前端的webpack呢? 首先, 学习webpack对于Python逆向工程师来说

    2024年02月12日
    浏览(48)
  • 为什么要学中文编程?它能有哪些益处?免费版编程工具怎么下载?系统化的编程教程课程怎么学习

    图下图是编程工具界面,其构件板构件非常丰富。想学编程,可以点击最下方卡片—— 软件下载——免费自由版软件下载及教程,了解详细资讯。  编程系统化教程视频课程总目录 链接,点击下方链接进入 https://jywxz.blog.csdn.net/article/details/134073098?spm=1001.2014.3001.5502 https://

    2024年02月05日
    浏览(63)
  • java的springboot框架中使用logback日志框架使用RabbitHandler注解为什么获取不到消费的traceId信息?

    当使用 Logback 日志框架和 RabbitMQ 的 @RabbitHandler 注解时,如果无法获取消费的 traceId 信息,可能是因为在处理 RabbitMQ 消息时,没有正确地将 traceId 传递到日志中。 为了将 traceId 传递到日志中,你可以利用 MDC(Mapped Diagnostic Context)机制。MDC 是一个线程绑定的上下文容器,允许

    2024年02月09日
    浏览(48)
  • Java面试题:你知道Spring的IOC吗?那么,它为什么这么重要呢?

    Spring的IOC(控制反转)是一种设计模式,它允许开发者将对象的创建和管理交给Spring框架来完成。在Spring中,IOC允许开发者将对象依赖关系从代码中分离出来,从而使代码更加灵活、可重用和易于管理。 IoC 全称Inverse of Control( 反向控制或控制反转 )。 在类和类之间存在控

    2024年04月28日
    浏览(98)
  • IDEA使用@Autowired为什么会警告?

    在使用IDEA编写Spring相关的项目时,当在字段上使用@Autowired注解时,总会出现一个波浪线提示:”Field injection is not recommended.” 这让我不禁疑惑:我每天都在使用这种方式,为何不被推荐呢?今天,我决定深入探究其中的原因。 众所周知,Spring框架提供了三种可选的依赖注入

    2024年02月12日
    浏览(45)
  • 什么是 Spring?为什么学它?

    欢迎来到本篇文章!在这里,我将带领大家快速学习 Spring 的基本概念,并解答两个关键问题:什么是 Spring,以及为什么学习 Spring。 废话少说,下面,我们开始吧! Spring 官方文档:https://docs.spring.io/spring-framework/docs/5.2.24.RELEASE/spring-framework-reference/ 简化我们的企业级应用程

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包