JavaEE的学习(Spring +Spring MVC + MyBatis)

news2024/12/26 11:16:25

 一、Spring入门

Spring是一个轻量级的控制反转 (IoC-Inversion of Control)和面向切面 (AOP-Aspect Oriented Programming)的容器(框架)。它采用分层架构,由大约20个模块组成,这些模块分为Core Container、Data Access/Integration、Web、AOP(Aspect Oriented Programming)、Instrumentation、Messaging和Test等部分。

第一步:下载jdk.

这里我用的是jdk 9.0.1

下载地址:Index of java-local/jdk/9.0.1+11 (huaweicloud.com)

(这个是国内的镜像源)

碰到了一点意外:在搭建环境变量时,发现这里,我在用户变量那里构建jdk的位置之后,但是在系统变量的path路径下放进去之后,在cmd条件下,可以运行java。但是运行不了javac。说明系统环境变量构建错误。将放在JAVA_HOME的路径放在系统变量之后,这个问题得到解决了。就是说JAVA_HOME这个变量不需要。正确情况:输入javac能够运行,则jdk安装完毕。

 参考博客:

(28条消息) 解决Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these...问题_互联网全栈开发实战的博客-CSDN博客

补充:如果要运行javac,需要将bin\     这个路径添加到系统变量的path路径下。

如果是只需要运行tomcat,那么只需要在系统变量里新建JAVA_HOME和JRE_HOME的路径就可以。

第二步:安装web服务器。(Apache Tomcat)

这里我安装的是tomcat 9

下载地址:Apache Tomcat® - Apache Tomcat 9 Software Downloads

在cmd的条件下运行:startup.bat。运行成功,说明安装成功。并在网页输入:localhost:8080。

如果显示出网页,则启动网页成功。

第三步:安装Eclipse.

这里我使用的是IDEA。随便网上找一个就可以。

创建第一个web项目:

 参考博客:如何使用IDEA创建Web项目 - 木原纺 - 博客园 (cnblogs.com)

有几个点不太理解:

比如,创建classes和lib文件夹,并设置模块路径:使用模块编译输出路径

 

 1号是  项目配置,在创建项目的时候就自动配置好了

2号是  模块配置,在创建classes文件和lib文件后,要配置他们的编译路径(?不知道为什么要配置)解决:存放的是编译后的字节码文件.class。

3号是  暂无介绍   (在2号Dependencies 里面配置jar or directions 依赖包 ,点击lib路径,里面存放的就是依赖项,只不过,我这里还没有开始存放。一般是一些jar文件。在maven创建web项目里面,这里就会有jar文件。)

4号是  制定了web目录不是一个普通的文件夹,而是web项目  (如果没有指定路径,需要配置我们创建项目的路径,一直指到web.xml)(一般在创建web项目的时候,这个也就配置好了)

5号是  部署项目连接web服务器。(在这里部署项目的时候,这里就自动配置好了。)

 

疑惑:书上介绍,在创建号Web项目后,要导入Spring的JAR包,(4个基础包和一个第三方依赖包。)这些包属于Spring Framework jar。(如果你使用的有maven,那么可以通过maven导入包。就不需要特意去下载了,maven会给你自动导入。)

所以这里我们再介绍一种,通过maven创建web项目:

参考博客:(29条消息) idea如何使用maven创建web项目_向上的狼的博客-CSDN博客

通过这种方式创建web项目,存在没有java代码存放的位置。解决方式:

Intellij IDEA创建maven项目无java文件问题 - 简书 (jianshu.com)

关于maven项目的一些介绍:

(29条消息) 在 IDEA 中创建 Java Web 项目的方式(详细步骤教程)_idea创建java web项目_JAVA序码的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/673081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是计算机蠕虫?

计算机蠕虫诞生的背景 计算机蠕虫的诞生与计算机网络的发展密切相关。20世纪60年代末和70年代初,互联网还处于早期阶段,存在着相对较少的计算机和网络连接。然而,随着计算机技术的进步和互联网的普及,计算机网络得以迅速扩张&…

TC8:SOMEIPSRV_FORMAT_09-10

SOMEIPSRV_FORMAT_09: Undefined bits in the Flag field 目的 Flag字段中的未定义位应静态设置为0 测试步骤 DUT CONFIGURE:启动具有下列信息的服务Service ID:SERVICE-ID-1Instance数量:1Tester:客户端-1监听在网卡上DUT:发送SOME/IP Notification消息Tester:验证接收…

Flutter应用开发,系统样式改不了?SystemChrome 状态栏、导航栏、屏幕方向……想改就改

文章目录 开发场景SystemChrome 介绍SystemChrome的使用导入 SystemChrome 包隐藏状态栏说明 改变状态栏的样式注意事项其他样式说明 锁定屏幕方向锁定屏幕方向实例注意事项 开发场景 开发APP时,我们经常要客制化状态栏、导航栏栏等的样式和风格,Flutte…

网络之网络基础入门

文章目录 前言一、局域网和广域网1.局域网LAN2.广域网WAN3.城域网和校园网4.如何区分广域网和局域网 二、协议1.概念2.理解3.协议分层4.数据传输的条件 三、OSI七层模型(了解即可)1.概念2.OSI七层模型 四、TCP/IP五层(四层)模型1.…

TC8:TCP_BASICS_11-17

TCP_BASICS_11: [finwait-2 -> time_wait] delay(2*MSL) -> [closed] 目的 TCP从FINWAIT-2状态到TIME-WAIT状态后,等待2MSL时间后,移动到CLOSED状态 关于为什么要等待2MSL时间,我的文章中讲过太多次了,这里就不提了 测试步骤 Tester:让DUT移动到FINWAIT-2状态Test…

使用Python批量进行数据分析

案例01 批量升序排序一个工作簿中的所有工作表——产品销售统计表.xlsx import xlwings as xw import pandas as pd app xw.App(visible False, add_book False) workbook app.books.open(产品销售统计表.xlsx) worksheet workbook.sheets # 列出工作簿中的所有工作表 fo…

SpringBoot 如何使用 ApplicationEventPublisher 发布事件

SpringBoot 如何使用 ApplicationEventPublisher 发布事件 在 SpringBoot 应用程序中,我们可以使用 ApplicationEventPublisher 接口来发布事件。事件可以是任何对象,当该对象被发布时,所有监听该事件的监听器都会收到通知。 下面是一个简单…

[Leetcode] 0733. 图像渲染

733. 图像渲染 点击上方,跳转至leetcode 题目描述 有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr , sc 和 newColor 。你应该从像素 image[sr][sc] 开始对图像进行 上色填充 。 为…

第八章 MobileNetv3网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

1.RocketMQ的安装与集群架构

RocketMQ快速入门 RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,在阿里内部,RocketMQ承接了例如“双11”等高并发场景的消息流转,能够处理万亿级别的消息。 2.1 准备工作 2.1.1 下载RocketMQ RocketMQ最新版本:…

Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案

导航: 【Java笔记踩坑汇总】Java基础进阶JavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线MySQL高级篇设计模式常见面试题源码 目录 一、四种基础同步策略 1.1 同步策略 1.2 更新缓存还是删除缓存? 1.2.1 更新缓存的优缺点 1.2.2 …

【PCB专题】Allegro输出光绘文件的基本参数设置和光绘层建立

什么是Gerber PCB设计是一套流程体系,而PCB制造又是另一套流程体系。 PCB设计数据并不等同于PCB制造数据,也就是说PCB制造并不会直接使用我们的PCB设计数据。设计数据需要经过CAM(Computer-Aided Manufacturing 计算机辅助制造)转换成给机器使用的生产数据。 Gerber就是板厂…

【强化学习】动手学强化学习:多臂老虎机问题

动手学强化学习:多臂老虎机问题 强化学习思维导图简介问题介绍问题定义形式化描述累积懊悔估计期望奖励 贪心策略与 ϵ \epsilon ϵ-greedy策略上置信界算法汤普森采样算法参考资料 强化学习思维导图 简介 强化学习关注智能体和环境交互过程中的学习,这…

chatgpt赋能python:Python中的查找方法

Python中的查找方法 Python是一种常用的编程语言,它有很多强大的查找方法。这些方法可以让开发人员轻松地搜索数据、列表和文本。 以下是Python中最常用的查找方法: 列表查找方法 在Python中,可以使用多种方法来查找列表中的元素。以下是…

Python零基础入门(四)——变量,数据类型与运算符

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不…

采集数据发布到WordPress网站指定分类栏目

将采集的文章数据发布到WordPressCMS网站指定分类栏目,设置方法如下: 目录 1. 获取分类名称或ID 2. 对接网站发布 1. 获取分类名称或ID 在wordpress后台获取对应的分类栏目名称或者ID都可以。 点击左侧菜单【文章】 --> 然后点击展开菜单中的【…

自然语言处理的最新研究与发展

第一章:引言 自然语言处理(Natural Language Processing,简称NLP)是人工智能领域中一项重要而受关注的技术,它致力于实现计算机与人类自然语言之间的有效交互。随着深度学习技术的快速发展,NLP领域也取得了…

LNMP架构——Discuz! Board 管理中心

文章目录 一.LNMP架构基本概念1.什么是LNMP2.LNMP实现过程3.LNMP的特点 二.安装Nginx 服务1.安装依赖包2.创建运行用户3.编译安装4.优化路径5.添加 Nginx 系统服务 三.安装 MySQL 服务1.安装Mysql环境依赖包…

java运动会管理系统

目录 一、项目介绍 1、主要功能介绍 二、分析与设计 三、问题与分析 四、小结 五、代码 一、项目介绍 1、主要功能介绍 对于管理者: 1、登录系统来发布运动会的项目以及对应项目的比赛规则 2、管理者也可以修改运动会比赛时间和地点,如果管理者…

漏刻有时数据可视化Echarts组件开发(27):端午地图粽情之你的家乡吃甜还是吃咸?

端午地图粽情之你的家乡吃甜还是吃咸? 前言Echarts创意来源Echarts核心代码1.引入外部文件2.构建HTML容器3.Echarts组件开发预置各省数据初始化DOM配置选项geo组件series组件自适应浏览器完整option选项配置代码 前言 中国各地对粽子的口味偏好存在一定的差异&…