SpringBoot3学习
一、SpringBoot简介springboot框架简化了SSM框架。之前使用SSM框架时,我们需要导入大量的依赖,和配置许多配置类及其相应的注解,太过于繁琐,不好记,而springboot极大的减轻了这些操作,把这些操作都封装了起来,提高开发效率。
二、快速启动2.1 创建Maven工程重新创建一个Maven工程,要求无父工程。
2.2 继承 spring-boot-starter-parent在项目的pom文件中添加如下的继承语句。
123456<parent> <!--继承springboot父工程--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.5</version></parent>
2.3 添加web启动依赖 spring-boot-starte ...
Springmvc总结
前言SpringMVC内容较多,且要结合Spring的内容,所以知识点比较散,总结起来太晕了,所以我复制了尚硅谷的springmvc教案,该教案可以说是相当详细了,我对教案内容的某些晦涩难懂地方进行可理解的表达修改。
一、SpringMVC简介和体验1.1 介绍SpringMVC官网https://docs.spring.io/spring-framework/reference/web/webmvc.html
Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称( spring-webmvc ),但它通常被称为“Spring MVC”。
在控制层框架历经Strust、WebWork、Strust2等诸多产品的历代更迭之后,目前业界普遍选择了SpringMVC作为Java EE项目表述层开发的首选方案。之所以能做到这一点,是因为SpringMVC具备如下显著优势:
Spring 家族原生产品,与IOC容器等基础设施无缝对接
表述层各细分领域需要解决的 ...
算法题易错点整理
这篇博客用于提醒自己在写算法题时,很容易忽视的易错点,有时明明是很小的问题,却花了好长时间才发现。
2024/12/10 要考试了,此博客除了易错点整理外,还整理了各种算法思想来应对考试!例题是选取pta上面我提交了好几次才ac的题目。┭┮﹏┭┮
一、易错点1.qsort的cmp函数如下图代码,a.d 和b.d都是double类型,如果return语句是a.d-b.d,那么当a.d和b.d的整数位的值相同时,它们并不会排序,导致排序有问题。
123456789int cmp(const void * x, const void * y){ struct map a = *(struct map*)x; struct map b = *(struct map*)y; if(a.d > b.d){ return 1; }else{ return -1; }}
2.memset函数void *memset(void *str, int c, siz ...
Spring技术总结03-Aop
Spring技术总结03-Aop一、什么是AopAOP:Aspect Oriented Programming面向切面编程。
AOP利用的是一种称为”横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为”Aspect”,即切面。所谓”切面”,简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。
AOP技术包含了切点表达式和增强方法的知识点。
二、切点表达式和增强方法增强方法用于获取调用切面类的类信息,可以根据其信息进行添加独特的功能。
1.增强方法12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758/* * 1.定义增强方法 * 2.使用注解指定对应的方法 @After等 * 3.配置切点表达式中的方法 在增强方法的注解上配置 * 4.切面和ioc配置 ...
Spring技术总结02-IoC
Spring技术总结02-IoC一、概述 Ioc:Inverse of Control的简写,为 控制反转,指把创建对象交给Spring进行管理。即不通过new 对象的方式在dao、service等Impl类中获取对象,而是通过读取xml文件或者配置类的方式创建一个统一管理所有对象的ApplicationContext类,通过**getBean()**的方法获取所需对象。
Spring中的IoC容器就是IoC思想的一个落地产品实现。IoC容器中管理的组件也叫做bean。
二、基于xml方式管理bean1.环境搭建1.根据上一篇文章,已经按要求重新创建了一个项目。
2.创建实体类和xml配置文件
配置文件创建方式如下图
实体类创建
2.管理bean对象——基本操作在spring01.xml上编写语句
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263<!--1.通过无参构造函数创建实例化的组 ...
Spring技术总结01-环境搭建
Spring技术总结01-环境搭建一、概述Spring指的是Spring Framework,通常我们称之为Spring框架。Spring框架是一个分层的面向切面的Java应用程序的一站式解决框架,它是Spring技术栈的核心和基础,是为了解决企业级引用开发的复杂性而创建的。
Spring有两个核心模块:IoC和AOP。
Ioc:Inverse of Control的简写,为 控制反转,指把创建对象交给Spring进行管理。即不通过new 对象的方式在dao、service等Impl类中获取对象,而是通过xml文件或者配置类的方式统一管理所有对象,将所需对象注入到其他对象。其他
AOP:Aspect Oriented Programming 的简写,为 面向对象编程。AOP用来封装多个类的公共行为,将那些与业务无关,却为业务模块共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。另外,AOP还解决一些系统层面上的问题,比如日志、事务、权限等。
二、环境搭建1.创建项目首先,使用Idea中maven这个中间件来创建一个项目。
2.检查Maven设置创建完成之后,记得要 ...
在线音乐播放器项目03
在线音乐播放器项目03前言对于网页移植,原本是想把学的音乐播放器移植到原来写的代码中,但经过该音乐播放器的html、css代码学习后,发现自己原来的页面代码写的依托,结构比较混乱,故我决定抛弃原来的页面,转而针对当前音乐播放器的页面进行更改和重新设计。
进度一.页面设计1.将原有的界面进行了扩展,增加了播放设置和音量调节功能,并且将其移动至页面下方。
2.增加了侧边导航栏进行功能扩展。
3.搜索功能的展现与音乐列表展开的实现原理一致,将其放在页面左边。同时实现了交互,异步通过后端爬虫获取歌曲数据。
二、音乐信息爬取原本我想爬取音乐搜索器来进行音乐数据的爬取,以为它已经实现了网易云音乐数据的爬取,但它的内容是动态加载的,需要使用动态爬取的方式,效率低,而且我只能爬到搜索到的第一首歌曲的具体信息,其他的歌曲我看了源码没有找到可以获取的数据,此外,我的爬虫只能爬取英文歌曲和部分中文歌曲,查了很多信息,不知道为什么,一些中文歌曲在爬取时不能成功爬取,明明网址是对的,自己输入可以正常访问,考虑到了编码问题,但还是没发现问题出在哪里。
所以我打算重新设计爬虫,直接爬取网易云的,但目前爬虫教 ...
在线音乐播放器项目02
在线音乐播放器项目02目前进度1.初步构建了上方导航栏,以及实现了搜索联想功能,如下图所示。
通过看之前的javaweb项目重新复习一遍了搜索联想功能的实现。
2.设置了分页查询功能。这次的分页查询并没有像之前的web项目一样,通过每次点击相应的图标而发送请求到servlet中进行交互,而是通过vue的帮助,实现了一次获取数据即可实现分页查询功能,很是方便。
3.重新设计了音乐播放器的显示由于html自带的audio标签的样式不是很好看,所以查找了各种信息,最终在B站找到了一个很不错的视频,通过该视频的学习,在另一个网页初步构建了新的音乐播放器,后续会完成该播放器其余内容后将其移植到当前的音乐播放器项目里。如下图所示。
学习视频链接【HTML+CSS3+JS实现音乐播放器项目】https://www.bilibili.com/video/BV1tj411N7SH?vd_source=ad14811b0629f215912c584fbe9d9875这个视频可以说收获相当多,让我对网页布局有了新的认识和更好的写代码逻辑与规范。
收获我先把分页查询功能完善后,晚点再写吧。
2024 ...
在线音乐播放器搭建项目01
在线音乐播放器搭建项目01前言:在学了html, css, javascript, tomcat,jdbc,jsp等内容之后,闲来无事,又学了maven和vue、mybatis的基础内容,想搭建一个在线音乐播放器的网站,希望是类似于qq音乐和网易云音乐之类的网页音乐播放页面,虽然是不可能的,但还是想着试着自己做一下这个项目来巩固自己所学的内容。
准备基于maven项目管理工具,同时遵循JavaEE的MVC设计模式搭建该项目。
项目文件各部分内容说明:数据库:先把音乐的相关数据存入到数据库maven当中的music表里,目前包含了四种字段,id, name(其实是文件存放位置), img(图片存放位置) 和 singer。后期肯定是会添加新的列的,但暂时就放这四个字段。
java:基于javaEE的三层架构创建相应文件。
resources:存放所需配置文件。
webapp: 存放除了java源码外的其他文件。
进度由于对前端代码的不熟悉,在构建页面,调整css属性,写js相关代码上面花了不少时间(设置布局好头疼)。
在找合适的标签进行绑定点击事件时,我一共试了三个标签 < ...
Redis哨兵模式
哨兵模式概念Redis的哨兵模式(Sentinel)是一种高可用的部署方式,由一个或多个Sentinel实例组成的Sentinel系统可以监控和管理多个Redis实例。在哨兵模式下,有一个或多个哨兵进程监控Redis主服务器和备份服务器的状态,并在主服务器下线时自动切换到备份服务器,继续处理命令请求。详解见链接http://t.csdnimg.cn/FY1Pq
简单实现首先在主机上配置个一主两从的redis服务器,这里我配置了3个redis配置文件,其中redis-6381.conf是主节点
再配置至少一个sentinel.conf配置文件,里面只需要加入如下语句(可在命令行用 vi <文件地址> 进行直接编写):
1sentinel monitor <主节点名称,任意即可> <主节点ip地址,例127.0.0.1> <主节点端口号>
如下所示,conf文件第一行即为加入的语句,语句下面是使用过程中产生的日志
然后在命令行分别启动这三个节点的服务器(例: redis-server myredis/redis-6380.conf) ...