学习Spring的补充

news2024/11/18 8:31:52

《JavaEE 框架整合开发入门到实践 》这本书还是太浅了 ,需要补充一些基本的知识。

首先修改一下快捷键,使得可以像eclipse一样使用alt+/ 快速补全代码。

参考博客:

(33条消息) IDEA 设置代码提示或自动补全的快捷键_idea补全提示_thirty.st的博客-CSDN博客

在学一个快捷键:快速对代码进行整理 ctrl+alt+L  

学习Spring的第一个例子:

(33条消息) 【Spring】Spring入门案例_spring例子_Teacher.Hu的博客-CSDN博客

顺序:

第一步:创建Maven工程 。(前面JavaEE学习有介绍)

第二步:添加Spring依赖包,在pom.xml文件下。如果是一个普通的web类,前面介绍过导入Maven自动引入了。(这个是重点,单独拿出来学习)

第三步:编写第一个Java代码。

第四步:创建applicationContext.xml文件。文件里面添加一个bena,id自己写,class为刚刚创建的Java代码的路径(包名+类名)。

第五步:编写测试类。进行测试。

小结:通过这个例子,大概学习到了,Spring就是将 测试类的工作交给了Spring容器来做。

正常一个工作的调用是,见图:

 

 而Spring容器的调用,则将工作交给了id。通过ID调用方法。

代码问题分析: 

第一个问题:Caused by: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 73; cvc-elt.1: 找不到元素 'beans' 的声明。

对applicationContext.xml的文件配置的构造进行补充学习:

applicationContext.xml的文件配置:

这个是默认情况下,在点击Spring Config的配置。

引入在这个目录下点击,然后引用,就会出现那个Spring Config的选项:

 

 出现的默认情况是这样:<bean>标签是后面添加的。

 参考博客:

Spring配置文件beans.xml头部配置解释 - EasonJim - 博客园 (cnblogs.com)

这里还介绍其它的一些配置导入的功能,比如tx功能(事务管理功能)、context功能(关于spring上下文,包括加载资源文件)

对pom.xml依赖包的补充学习:

这是创建一个Spring程序的第二步,这个步骤要放在前面ApplicationContext.xml文件的配置前面。

前面的学习,我们知道了,只有导入依赖包之后,配置XML文件才有效。

但有几个问题困惑我:

相比使用myeclipse,我们是直接导入jar文件,但在这里使用依赖包,那么怎么确定我们需要的是哪个包?除了复制粘贴过来的依赖包,怎么手动构造依赖包?依赖包的构造是什么?

应用举例:第一个Spring连接数据库的操作。

(33条消息) 【Spring】Spring JDBC配置与使用_Teacher.Hu的博客-CSDN博客

步骤顺序和创建Spring的顺序是一样的。不同的是,第二步导入依赖包,需要哪些依赖包,第四步创建的XML文件,容器里面的代码作用是连接数据库。

首先需要学习一下Spring JdbcTemplat的类方法:(数据库操作的类,和eclipse不一样,因为它使用了接口方法) 它属于core包里面的类。包含增删改查四个方法。具体用法看下面:

主要介绍update和query的方法。

public int update(String sql,Object args[ ] ):

例如:public int update(String sql,Object param[ ] ):

public List<T> query(String sql,RowMapper<T> rowMapper,Object args[ ]):

例如:public List<register> query(String sql,Object param[ ] ):

第二步的改进 导入依赖包:

Spring编程主要使用Spring JDBC 模块的core和 dataSource包。core包里面有常用类JdbcTemplat类。

第三步的改进 编写代码: (Dao类的方法本质就是重新定义JdbcTemplat的类方法)

编写dao层的代码,因为JdbcTemplat类已经提供了增删改查的方法。代码的编写就是重新写一遍jdbc的方法,然后用返回对象是JdbcTemplat的类方法就完成了。(因为JdbcTemplat的类方法太冗长,重写一遍有利于构建。)

第四步的改进 对XML文件进行配置:

编写数据库连接的操作。需要记忆。

第五步:测试类,就可以使用dao类的方法 去引入具体数据。

问题分析:

先编写一个具体实例并运行,然后再去思考pom.xml文件的作用。

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

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

相关文章

【Java核心技术】面向对象编程

面向对象编程 1、面向过程与面向对象面向过程(POP)与面向对象(OOP)面向对象的三大特征面向对象的思想概述 2、Java语言基本元素&#xff1a;类和对象类和对象类和对象的使用&#xff08;面向对象思想落地的实现&#xff09;对象的创建和使用&#xff1a;内存解析 3、类的成员之…

【瑞萨RA6系列】CoreMark移植完全指南——UART输出和SysTick计时

一、CoreMark简介 什么是CoreMark&#xff1f; 来自CoreMark首页的解释是&#xff1a; CoreMark is a simple, yet sophisticated benchmark that is designed specifically to test the functionality of a processor core. Running CoreMark produces a single-number scor…

tomcat进程注入

跟随上一篇《java进程注入》 这里使用memShell https://github.com/rebeyond/memShell 将agent.jar和inject.jar放到tomcta的web目录下 然后输入命令注入 效果&#xff1a; 注入成功后 可以看到agent.jar文件为了防止发现&#xff0c;自动清除&#xff0c;而且重启电脑之后&…

【Python数据分析】Python中axis的理解

axis用来为超过一维的数组定义属性。 理解时从数据变化的方向入手&#xff01; 以二维数据为例&#xff0c;在二维数据中&#xff0c;1表示横轴&#xff0c;方向从左到右&#xff1b;0表示纵轴&#xff0c;方向从上到下从数轴的方向入手&#xff0c;理解数据变化&#xff0c;a…

测试这碗饭,你还拿得稳吗?

今年测试行业格外寒冷&#xff0c;大部分人为了糊口饭吃&#xff0c;紧紧地捂住了本来已经很嫌弃的饭碗&#xff0c;以便挺过寒冬迎接春天。 公司天天加班&#xff0c;新出了各种扣款制度&#xff0c;为了上老下小我忍了。 2022年度的绩效&#xff0c;2023年都要过完了&#xf…

Windows同时安装两个版本JDK,并实现动态切换

1、载安装两个版本的JDK 安装后&#xff0c;默认路径C:\Program Files\Java。 实际上JDK8有两个包一个jdk1.8.0_311&#xff0c;一个jre1.8.0_311。 JDK11只有一个jdk-11.0.16.1。 2、系统环境配置 设置JAVA_HOME 在环境变量中选中Path&#xff0c;点击编辑 点击新建&…

DARAZ使用虚拟信用卡购物教程

Daraz为阿里巴巴南亚电商平台&#xff0c;市场覆盖巴基斯坦、孟加拉、斯里兰卡、尼泊尔和缅甸超过5亿人口级别市场&#xff0c;是南亚地区最受欢迎的在线购物网站&#xff0c;购物APP NO.1。 注册一个DARAZ的买家账号。 找到需要购买的商品&#xff0c;点击Buy Now进行购买 填…

Sip通话,qq通话,微信通话,普通的通话的条件和过程描述

SiP通话 SIP电话是基于SIP&#xff08;Session Initiation Protocol&#xff0c;会话初始化协议&#xff09;协议实现的通信。SIP是一种应用层协议&#xff0c;用于建立、修改和终止多媒体会话&#xff0c;如语音通话、视频通话等。SIP电话通过SIP协议进行信令交换和媒体流传输…

【MySQL学习笔记】(二)MySQL操作库基础

库的操作 1 创建数据库2 关于字符集和校验规则2.1 查看系统字符集以及校验规则2.2 查看数据支持的字符集2.3 查看数据库支持的字符集校验规则3 删除数据库4 查看并使用数据库5 修改数据库6 查看连接情况7 备份和恢复 1 创建数据库 1&#xff09;创建数据库 在学习笔记&#xf…

ChatGLM-6b本地安装手把手教学

什么是ChatGLM-6B ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT4 量化级别下最低只需 6GB 显存&…

Redis【入门篇】---- Redis的Java客户端-SpringDataRedis

Redis【入门篇】---- Redis的Java客户端-SpringDataRedis 1. 快速入门1. 导入pom坐标2. 配置文件3. 测试代码 2. 数据序列化器3. StringRedisTemplate4. Hash结构操作 SpringData是Spring中数据操作的模块&#xff0c;包含对各种数据库的集成&#xff0c;其中对Redis的集成模块…

网络安全|渗透测试入门学习,从零基础入门到精通—静态分析技术详解

目录 前言 1、文件类型分析 2、反汇编引擎 2.1、OllyDbg的ODDisasm 2.2、BeaEngine 2.3、Udis86 2.5、AsmJit 2.6、Keystone 2.7、小结 前言 用高级语言编写的程序有两种形式。一种程序是被编译成机器语言在CPU上执行的&#xff0c;例如Visual C。机器语言与汇编语言几乎…

【Docker】docker启动oracle11g并初始化数据,部署和使用

前提&#xff1a;已经在docker中安装好Oracle 1.启动docker&#xff1a; docker run --name oracle11 -p 1521:1521 -e ORACLE_ALLOW_REMOTEtrue -e ORACLE_PWDoracle -d oracleinanutshell/oracle-xe-11g出现问题&#xff0c;请查看&#xff1a;Exited 139解决Window下docke…

web漏洞-反序列化之JAVA全解(38)

首先第一个就是概念。第二个是他的利用&#xff0c;一个好用的工具ysoserial&#xff0c;主要用来生成工具的paload&#xff0c;修复大差不差。 #概念&#xff1a;我们有时候需要保存某一个对象的信息&#xff0c;会进行一些操作&#xff0c;类似于反序列化&#xff0c;序列化…

Mysql 逗号‘,’拼接的字符串怎么查询包含的匹配数据?

上数据 &#xff1a; 可以看到sn 存储的方式的逗号拼接的方式。 那么怎么去做sn这个字段的匹配查找呢&#xff1f; ① like &#xff08;不考虑&#xff09; 首先 like 是不行的&#xff0c; 除非你能保证 你的 逗号拼接这里面的数据不包含 重复的值&#xff0c; 比如 1 和…

Unreal 5 实现骨骼网格体转静态网格体顶点动画

如果需要大批量的渲染具有动作的模型&#xff0c;如果使用骨骼网格体渲染模型&#xff0c;量级上去以后&#xff0c;性能肯定扛不住的。如果需要实现大批量的渲染相同的带有动画的模型&#xff0c;我们需要实现将骨骼网格体烘焙成静态网格体&#xff0c;然后将骨骼网格体动画转…

D. Dot(思维+记忆化搜索dfs)

翻译&#xff1a; D. 点 时间限制&#xff1a;3秒 内存限制&#xff1a;256兆字节 输入&#xff1a;标准输入 输出&#xff1a;标准输出 Anton和Dasha喜欢在棋盘纸上玩不同的游戏。到11年级时&#xff0c;他们成功玩过了所有这类游戏&#xff0c;并请程序员Vova想出一个新…

基于 Leaflet 的缩放功能:在最后一层瓦片缺失时进行优化

这里写自定义目录标题 第一种方式第二种方式第三种方式 引言&#xff1a;Leaflet 是一个广泛使用的开源 JavaScript 库&#xff0c;用于创建交互式、可定制的地图应用程序。在 Leaflet 中&#xff0c;默认情况下&#xff0c;瓦片地图是通过切分成多个瓦片来展示的&#xff0c;这…

华为防火墙之NAT技术

1.源NAT 源NAT技术对IP报文的源地址进行转换&#xff0c;将私网IP地址转换成公网IP地址&#xff0c;使大量私网用户可以利用少量公网IP地址访问Internet&#xff0c;大大减少了对公网IP地址的消耗。 源NAT转换的过程如下图所示&#xff0c;当私网用户访问Internet的报文到达防…

Ubuntu终端最大化的3种方法

摘要&#xff1a;Ubuntu 系统下&#xff0c;使用Ctrl Alt T 快捷键唤醒终端时默认大小为 80 列 x 24 行。在某些测试中我们需要更大的窗口&#xff0c;而通过鼠标将窗口最大化太慢了&#xff0c;所以本文介绍了快速实现终端窗口最大化的 3 种方法。 声明&#xff1a;本文所有…