框架程序设计-简答以及论述
目录
maven的pom作用:
@Pointcut("execution(*com.example.dome.*.*(……))")
缓存的作用,redis配置过程
Redis配置过程:
SpringBoot缓存配置过程:
AOP的五种增强注解:
论述题:包结构作用、启动类。
@SpringBootApplication包含的注解:
maven定位依赖
@Pointcut("execution(*com.example.dome.*.*(……))")
@configretion@Bean作用
@Autowired和@Resource的区别
论述题:配置文件优先级
论述题:
maven的pom作用:
一个XML格式的文件,它描述了项目的结构、依赖关系、插件等相关信息,是Maven项目管理的核心文件之一
通过pom文件,Maven可以自动下载并管理项目所依赖的库,自动编译、测试、打包、部署代码,大大简化了项目管理的工作。
pom文件也使得Maven可以提供多种插件和丰富的管理功能,为开发者提供了更强大的开发工具。
@Pointcut("execution(*com.example.dome.*.*(……))")
第一个*:任意类型的返回参数;
第二个*:该文件夹下的任意类;
第三个*:该类的任意方法;
缓存的作用,redis配置过程
缓存作用:提高查询速度,降低资源利用率,改善系统可伸缩性,增强系统的高并发性
Redis配置过程:
在pom文件中加入对应坐标;
在配置文件中填入链接Redis相关信息;
注入redis模版对象,进行redis操作;
SpringBoot缓存配置过程:
在启动类上添加 @EnableCaching 注解,启用 Spring Cache。
在需要缓存的类或方法上添加对应的注解。
AOP的五种增强注解:
@Before:执行前通知,目标方法运行前执行;
@After:最终通知,目标方法运行后执行;
@AfterReturning:返回后通知,目标方法返回数据后执行;
@AfterThrowing:异常通知,目标方法抛出异常后执行
@Around:自定义通知执行时机,可决定目标方法是否执行;
论述题:包结构作用、启动类。
entity(model):数据库实体类
dao:持久层
service:服务层
controller:控制层
utils:工具类
config:配置类
@SpringBootApplication包含的注解:
SpringBootConfiguration:表示当前类为一个配置类并可以被组件扫描器扫描。
EnableAutoConfiguration:启动自动配置,向容器中导入所选中的自动配置类。
ComponentScan:扫描指定包及其子包下所有注解类文件作为Spring容器的组件使用。
修改端口:server.port=7474
maven定位依赖
Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具。在 Maven 中,pom.xml 文件是 Maven 项目的核心配置文件。其中包括了构建项目所需的依赖、插件、属性等等信息
<groupId>:机构或者团体的英文,采用“逆向域名”形式书写;
<artifactId>:项目名称,说明其用途;
<version>:版本号,一般采用“版本+单词”形式;
@Pointcut("execution(*com.example.dome.*.*(……))")
第一个*:任意类型的返回参数;
第二个*:该文件夹下的任意类;
第三个*:该类的任意方法;
@configretion@Bean作用
@configretion:表示该类是一个配置类,在Spring创建容器时会被扫描到,并将其内部所有带@Bean注解的方法作为Spring Bean注册到容器中。
@Bean:表示在方法上定义了一个Bean对象,这个对象交给Spring容器管理,Spring容器会自动调用该方法,并将其返回的实例对象存入容器中供调用。
@Autowired和@Resource的区别
@Autowired是Spring提供的注解,而@Resource是Java EE提供的注解。
@Autowired默认按照类型进行注入,如果有多个同类型的bean,则需要通过@Qualifier指定具体的bean名称。而@Resource默认按照名称进行注入,如果名称匹配不到,则会尝试按照类型进行注入。
@Autowired可以用在构造方法、setter方法、字段上,而@Resource只能用在字段上。
@Autowired是Spring特有的注解,不具有Java EE的兼容性,而@Resource是Java EE的标准注解,具有更好的兼容性。
论述题:配置文件优先级
在相同的文件夹下,Properties优先于yml,yml优先于yaml;
在config文件夹下的配置文件优先于resource文件夹下配置文件;
在jar包外的同目录下配置文件优先于jar内部配置文件;
在jar包同目录下的config文件夹下配置文件优先于jar包同目录下配置文件;
修改项目的访问根路径:server.servlet.context-path = /demo
论述题:
- SpringBoot上传文件
- 使用springSpring自带的MultipartFile接口实现文件上传
- Controller中添加上传文件的接口方法
- 添加上传文件的表单页面, enctype使用multipart/form-data属性。
- 使用Apache Commons FileUpload实现文件上传
- pom文件添加对应依赖
- Controller中添加上传文件的接口方法
- 添加上传文件的表单页面, enctype使用multipart/form-data属性
- 使用springSpring自带的MultipartFile接口实现文件上传
- SpringBoot打包JAR包
- 引入spring-boot-maven-plugin插件。
- 命令行输入mvn clean package,或者,打开IDEA的MAVEN控制台,点击lifecycle下的package。
- 运行jar包,java -jar 包名.jar。
可能的简答
Spring的IOC和DI:
IOC:IOC:控制反转,对象的控制权交由第三方统一管理;利用JAVA反射技术实现运行时对象创建于关联;基于配置提高应用程序的可维护性与扩展性;
DI:依赖注入,Bean对象的创建依赖于容器,Bean对象所依赖的资源,由容器来设置和装配;
相关文章:

框架程序设计-简答以及论述
目录 maven的pom作用: Pointcut("execution(*com.example.dome.*.*(……))") 缓存的作用,redis配置过程 Redis配置过程: SpringBoot缓存配置过程: AOP的五种增强注解: 论述题:包结构作用、…...

ce第六次作业
1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 [rootServer ~]# yum install -y mailx [rootServer ~]# yum -y install bind-utils [rootServer ~]# vim /etc/mail.rc set from15339…...
为何页面搜索应避免左模糊和全模糊查询???
前言 在构建高效且可扩展的Web应用程序时,数据库查询的性能是影响用户体验的关键因素之一。特别是对于涉及大量数据的页面搜索功能,选择正确的查询方式不仅可以提升应用的速度,还能显著改善用户交互体验。 B-Tree索引与最左前缀匹配特性 1…...

AI可信论坛亮点:合合信息分享视觉内容安全技术前沿
前言 在当今科技迅猛发展的时代,人工智能(AI)技术正以前所未有的速度改变着我们的生活与工作方式。作为AI领域的重要盛会,CSIG青年科学家会议AI可信论坛汇聚了众多青年科学家与业界精英,共同探讨AI技术的最新进展、挑…...

在 Mac M2 上安装 PyTorch 并启用 MPS 加速的详细教程与性能对比
1. 安装torch 在官网上可以查看安装教程,Start Locally | PyTorch 作者安装了目前最新的torch版本2.5.1,需要提前安装python3.9及以上版本,作者python版本是python3.11最新版本 使用conda安装torch,在终端进入要安装的环境&…...
生成式人工智能在生产型企业中的应用
生成式人工智能(Generative AI)是指使用人工智能来创建新内容,如文本、图像、音乐、音频和视频等。生成式人工智能在生产型企业中的应用涵盖了内容创作与自动化、数据分析与决策支持、生产流程优化、产品设计与开发、客户服务与沟通、员工培训…...

Linux逻辑卷管理
目录 实验要求 实验操作 1、 为Linux新添加一块SCSI磁盘/dev/sdc,容量为1024MB。在该磁盘上创建三个分区sdc1、sdc2、sdc3,大小为128MB,标识为Linux native分区。 2、 在三个分区上创建物理卷;将三个物理卷加入VolGroup00卷组&…...

机器人加装电主轴【铣削、钻孔、打磨、去毛刺】更高效
机器人加装电主轴进行铣削、钻孔、打磨、去毛刺等作业,展现出显著的优势,并能实现高效加工。 1. 高精度与高效率 电主轴特点:高速电主轴德国SycoTec的产品,转速可达100000rpm,功率范围广,精度≤1μm&#…...

opencv sdk for java中提示无stiching模块接口的问题
1、问题介绍 安卓项目中有新的需求,在 jni 中增加 stiching_detail.cpp 中全景拼接的实现。 但是在编译时,出现大量报错,如下截图所示 实际上,其他opencv的接口函数 例如 core dnn等都能正常使用,直觉上初步怀疑 ope…...

今天最新早上好问候语精选大全,每天问候,相互牵挂,彼此祝福
1、朋友相伴,友谊真诚永不变!彼此扶持绿树荫,共度快乐雨后天!一同分享的表情,愿我们友情长存,一生相伴永相连! 2、人生几十年,苦累伴酸甜,风华不再茂,雄心非当…...
五种IO模型- 阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO
在操作系统中处理输入/输出(IO)操作的过程中,存在多种方式,包括阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。这些方式在操作系统实现和应用程序编写时有着不同的适用场景和性能特征。接下来,我将逐一介绍它们…...
Vscode GStreamer插件开发环境配置
概述 本教程使用vscode和Docker搭建Gstreamer2.24的开发环境,可以用于开发调试Gstreamer程序或者自定义插件开发。 1. vscode依赖插件 C/C Extension Pack(ms-vscode.cpptools-extension-pack):该插件包包含一组用于 Visual St…...

flask基础
from flask import Flask, requestapp Flask(__name__)# app.route(/) # def hello_world(): # put applications code here # return Hello World!app.route(/) # 路由 当用户访问特定 URL 时,Flask 会调用对应的视图函数来处理请求 def index():return …...

Java日志框架:log4j、log4j2、logback
文章目录 配置文件相关1. properties测试 2. XMl使用Dom4j解析XML Log4j与Log4j2日志门面 一、Log4j1.1 Logges1.2 Appenders1.3 Layouts1.4 使用1.5 配置文件详解1.5.1 配置根目录1.5.2 配置日志信息输出目的地Appender1.5.3 输出格式设置 二、Log4j22.1 XML配置文件解析2.2 使…...

鸿蒙-expandSafeArea使用
应用未使用setWindowLayoutFullScreen()接口设置窗口全屏布局时,默认使能组件安全区布局。可以使用expandSafeArea属性扩展安全区域属性进行调整 扩展安全区域属性原理 布局阶段按照安全区范围大小进行UI元素布局。布局完成后查看设置了expandSafeArea的组件边界&…...
【es6复习笔记】Spread 扩展运算符(8)
在现代前端开发中,JavaScript 的扩展运算符(Spread Operator)是一个非常有用的特性,它允许你将数组或对象展开,以便在函数调用、数组拼接、对象复制等场景中更方便地处理数据。扩展运算符(spread࿰…...

第22天:信息收集-Web应用各语言框架安全组件联动系统数据特征人工分析识别项目
#知识点 1、信息收集-Web应用-开发框架-识别安全 2、信息收集-Web应用-安全组件-特征分析 一、ICO图标: 1、某个应用系统的标示,如若依系统有自己特点的图标;一旦该系统出问题,使用该系统的网站都会受到影响; 2、某个公…...
后端-redis
Redis RedisString类型String类型的常用命令 Hash类型Hash类型的常用命令 List类型List类型的常用命令 Set类型Set类型的常用命令 SortedSet类型SortedSet类型的常用命令 Redis序列化缓存更新策略缓存穿透缓存雪崩缓存击穿 Redis Redis是一个key-value的数据库,key…...

开发场景中Java 集合的最佳选择
在 Java 开发中,集合类是处理数据的核心工具。合理选择集合,不仅可以提高代码效率,还能让代码更简洁。本篇文章将重点探讨 List、Set 和 Map 的适用场景及优缺点,帮助你在实际开发中找到最佳解决方案。 一、List:有序存…...

golangci-lint安装与Goland集成
golangci-lint安装与Goland集成 1.golangci-lint概述2.golangci-lint安装3.Goland 中集成 golangci-lint4.golangci-lint 的使用5.排除代码检查 1.golangci-lint概述 golangci-lint是用于go语言的代码静态检查工具集 官网地址:golangci-lint 特性: 快…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...