1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

04-11 1517阅读

文章目录

  • 1.为什么要学框架?
  • 2.框架的优点展示(SpringBoot VS Servlet)
    • 2.1 Servlet 项⽬开发
      • 2.1.1 创建项⽬
      • 2.1.2 添加引⽤
      • 2.1.3 添加业务代码
      • 2.1.4 运⾏项⽬(配置tomcat)
      • 2.1.5 Maven配置
        • 2.1.5.1修改本地Maven仓库地址
        • 2.1.5.2 配置settings.xml文件
        • 2.1.5.3项目 本地仓库 中央仓库 私服 区别与联系
        • 2.1.5.4Maven包下载不下来
        • 2.1.5.5快捷修改文件名
        • 2.1.6 Servlet 痛点分析
        • 2.2 SpringBoot 项⽬开发
          • 2.2.1 创建并添加引⽤
          • 2.2.2 添加代码并运⾏程序
          • 2.2.3 发布程序
          • 2.2.5 SpringBoot VS Servlet
          • 3.怎么学框架?
          • 4.框架学习中的难点

            大家好,我是晓星航。今天为大家带来的是 JavaEE 进阶导读 相关的讲解!😀

            1.为什么要学框架?

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

            框架主要体现在思维方式和编程思想上,与代码语言无关。

            易⽤、简单、⾼效的特性体现在哪些⽅⾯呢?继续往下看。

            2.框架的优点展示(SpringBoot VS Servlet)

            使⽤ Spring Boot 项⽬演示框架相⽐于 Servlet 所具备的以下优点:

            1. ⽆需配置 Tomcat,点击“运⾏”按钮就可以运⾏项⽬,Spring Boot 内置了 Web 容器(可直接运 ⾏)。
            2. 快速添加外部 jar 包。
            3. 快速发布项⽬(使⽤ java -jar ⽅式就可以发布)。
            4. 对象⾃动装配。

            使⽤ SpringBoot 和 Servlet 对⽐,演示⼀个⽤户添加的案例,展示以上优点。

            2.1 Servlet 项⽬开发

            2.1.1 创建项⽬

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.1.2 添加引⽤

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

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            PS:其中还需要注意使⽤的版本号。

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            在项⽬中右键添加“源代码”⽂件夹,如下图所示:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.1.3 添加业务代码

            配置路由⽂件 web.xml:

            
            
            

            添加实体类:

            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 javax.servlet.ServletException;
            import javax.servlet.annotation.WebServlet;
            import javax.servlet.http.HttpServlet;
            import javax.servlet.http.HttpServletRequest;
            import javax.servlet.http.HttpServletResponse;
            import java.io.IOException;
            @WebServlet("/adduser")
            public class AddUser extends HttpServlet {
             @Override
             protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
             this.doPost(req, resp);
             }
             @Override
             protected void doPost(HttpServletRequest req, HttpServletResponse resp
            ) throws ServletException, IOException {
             // 1.获取参数
             String name = req.getParameter("name");
             //...
             // 2.插⼊数据库
             System.out.println("插⼊数据库");
             // 3.返回结果
             resp.setContentType("text/html");
             resp.setCharacterEncoding("utf-8");
             resp.getWriter().println("添加成功:" + name);
             }
            }
            

            2.1.4 运⾏项⽬(配置tomcat)

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.1.5 Maven配置

            本地仓库地址查询:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            上图可以看到,博主的仓库地址包含中文,因此需要重新选择仓库位置,将仓库进行转移,转移仓库位置方法在后面为大家进行讲解!!!

            我们把本地仓库地址拷贝到c盘中查询

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            可以看到我们本地仓库有这么多的地址

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            例如我们进入mysql可以看到我们mysql的Maven配置文件

            2.1.5.1修改本地Maven仓库地址

            最初的Maven默认地址位置:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            1.首先找到我们之前的Maven本地地址所在的位置

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.创建好新的文件夹位置并将C盘中旧的Maven仓库中的资源全部拷贝过来!

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            3.再返回idea的设置中,找到设置Maven仓库位置进行更改

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            如此我们便大功告成了!!!(注意文件夹的命名千万不要包含中文,否则日后使用的时候可能会报错!)

            2.1.5.2 配置settings.xml文件

            从网上下载资源包并解压放在文件夹中

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            右键使用vscode或者其他文本编辑器打开查看(因为文本编辑器可以把代码部分高亮表示出来,方便我们查看以及修改)

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            从图中我们可以发现,这个settings.xml 文件使用的是阿里云的镜像仓库

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            最后我们需要选择一下,让我们以后的新项目都会自动配置到我们Maven的新仓库去下载

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            可以看到打开后还是我们的setting设置中

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            找到Maven设置出发现我们新项目的Maven仓库位置还是默认的C盘

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            重复之前的操作将此处的位置更改到我们更改的文件夹中,点击Apply然后OK即可

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            此时便配置完成了,我们的代码会优先从阿里云中下载所需的依赖,如果阿里云没有的话才会转而找到中央仓库去下载。

            2.1.5.3项目 本地仓库 中央仓库 私服 区别与联系

            本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源。

            远程仓库:非本机电脑上的仓库,为本地仓库提供资源。

            远程仓库又分私服和中央仓库:

            中央仓库:Maven 团队维护,存储所有资源的仓库。

            私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源;

            项目 本地仓库 中央仓库 关系图:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            项目 本地仓库 中央仓库 私服 关系图:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            项目 本地仓库 中央仓库 私服 镜像仓库 关系图:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.1.5.4Maven包下载不下来

            1.确认包是否存在

            2.如果包存在,就多下几次

            3.如果下载了很多次,都下载不下来

            1)是否配置了国内源 setting.xml

            2)目录是否是全英文 存在中文的话,修改路径

            3)删除本地仓库的jar包,重新下载

            可能存在的一个原因是,上次下载时,因为网络原因,造成jar包下载了一半

            解决方法是删除指定没下载完的jar包就可以啦

            2.1.5.5快捷修改文件名

            shift + F6可以快捷改文件夹的名字

            不要直接修改文件名,通过idea提供的方式修改文件名的好处:

            1.idea 会帮我们查找相关的代码

            2.idea 会进行提示

            3.idea 会帮我们把关联的文件名相关的代码

            全部修改

            2.1.6 Servlet 痛点分析

            1. 添加外部 jar 不⽅便,容易出错,⽐如添加了⼀个不匹配的外部 jar 版本;
            2. 运⾏和调试的时候需要配置 tomcat 不⽅便;
            3. 发布不⽅便,servlet 项⽬必须依靠外置的 tomcat(外置的 web 容器)运⾏。
            4. 路由配置不⽅便,⼀个访问地址对应⼀个 Servlet 类。

            ⽽以上痛点问题,都可以通过 JavaEE 进阶框架解决,接下来我们⼀起来看。

            2.2 SpringBoot 项⽬开发

            各个目录文件夹解析:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.2.1 创建并添加引⽤

            还可以通过

            start.spring.io

            网址来创建项目,通过网页编程,然后将文件保存知道本地

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            由于博主是专业版idea因此不需要额外安装插件来导入SpringBoot

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            这里Java版本无8,jdk使用1.8不适应Java17的版本要求不能创建项目,因此我们先默认创建进去之后再改jdk版本和Java版本,之后文章会教,注意阅读噢!!!(这里我们选用Java17版本,jdk17,SpringBoot版本3)

            springboot3.0更新后,idea创建springboot2.x项目 - CSDN App

            选择 SpringBoot 版本和添加外部引⽤:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.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();
             }
            }
            

            点击调试运行按钮即可运⾏项⽬:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            程序2:

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?
            package org.example.demo.controller;
            import org.springframework.web.bind.annotation.RequestMapping;
            import org.springframework.web.bind.annotation.RestController;
            @RestController
            /**
             * Created with IntelliJ IDEA
             * Description
             * User: 晓星航
             * Date: 2024 -03 -04
             * Time: 16:13
             */
            public class HelloController {
                @RequestMapping("/sayhi")
                public String sayHi() {
                    return "hello,SpringBoot";
                }
            }
            

            写好代码后,我们找到下图中的运行程序类直接运行,即可将程序跑到网页上,不需要再去花大量时间配置Tomcat了。

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            注: @RequestMapping("/sayhi") 这里代码意为将上述代码放入了sayhi这个文件夹中

            我们输入 127.0.0.1:8080/sayhi 即可成功访问并展示我们刚才所写的代码

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            关闭运行,再次访问

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            可以发现我们程序运行了了

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            如果我们再加一个网页进来,我们仍然只需要重新返回1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            中点击重新运行就可

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.2.3 发布程序

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.2.4 Tomcat启动失败

            1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

            2.2.5 SpringBoot VS Servlet

            SpringBoot 相⽐于 Servlet 的优点总结:

            1. 添加外部 jar 更容易,不易出错(版本问题⽆需关注);
            2. 调试项⽬更加⽅便,⽆需配置 Tomcat;
            3. 发布项⽬更加⽅便,⽆需配置 Tomcat;
            4. 添加路由更加⽅便,⽆需每个访问地址都添加⼀个类。

            现在我们已经知道了框架的优点了,哪怎么去学呢?

            3.怎么学框架?

            • 先从基础框架 Spring 开始(⼯具箱)
            • Spring Boot 快速开发 Spring 脚⼿架
            • MyBatis 快速操作数据库
            • 其他:⽇志、事务、拦截器…

              框架学习中需要注意什么呢?

              4.框架学习中的难点

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

              感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]