当前位置: 首页 > news >正文

框架程序设计-简答以及论述

目录

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

论述题:

  1. SpringBoot上传文件
    1. 使用springSpring自带的MultipartFile接口实现文件上传
      • Controller中添加上传文件的接口方法
      • 添加上传文件的表单页面, enctype使用multipart/form-data属性。
    2. 使用Apache Commons FileUpload实现文件上传
      • pom文件添加对应依赖
      • Controller中添加上传文件的接口方法
      • 添加上传文件的表单页面, enctype使用multipart/form-data属性

  1. SpringBoot打包JAR包
    1. 引入spring-boot-maven-plugin插件。
    2. 命令行输入mvn clean package,或者,打开IDEA的MAVEN控制台,点击lifecycle下的package。
    3. 运行jar包,java -jar 包名.jar。

可能的简答

Spring的IOC和DI:

IOC:IOC:控制反转,对象的控制权交由第三方统一管理;利用JAVA反射技术实现运行时对象创建于关联;基于配置提高应用程序的可维护性与扩展性;

DI:依赖注入,Bean对象的创建依赖于容器,Bean对象所依赖的资源,由容器来设置和装配;

 

 

 

相关文章:

框架程序设计-简答以及论述

目录 maven的pom作用&#xff1a; Pointcut("execution(*com.example.dome.*.*(……))") 缓存的作用&#xff0c;redis配置过程 Redis配置过程&#xff1a; SpringBoot缓存配置过程&#xff1a; AOP的五种增强注解&#xff1a; 论述题&#xff1a;包结构作用、…...

ce第六次作业

1、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间。 [rootServer ~]# yum install -y mailx [rootServer ~]# yum -y install bind-utils [rootServer ~]# vim /etc/mail.rc set from15339…...

为何页面搜索应避免左模糊和全模糊查询???

前言 在构建高效且可扩展的Web应用程序时&#xff0c;数据库查询的性能是影响用户体验的关键因素之一。特别是对于涉及大量数据的页面搜索功能&#xff0c;选择正确的查询方式不仅可以提升应用的速度&#xff0c;还能显著改善用户交互体验。 B-Tree索引与最左前缀匹配特性 1…...

AI可信论坛亮点:合合信息分享视觉内容安全技术前沿

前言 在当今科技迅猛发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度改变着我们的生活与工作方式。作为AI领域的重要盛会&#xff0c;CSIG青年科学家会议AI可信论坛汇聚了众多青年科学家与业界精英&#xff0c;共同探讨AI技术的最新进展、挑…...

在 Mac M2 上安装 PyTorch 并启用 MPS 加速的详细教程与性能对比

1. 安装torch 在官网上可以查看安装教程&#xff0c;Start Locally | PyTorch 作者安装了目前最新的torch版本2.5.1&#xff0c;需要提前安装python3.9及以上版本&#xff0c;作者python版本是python3.11最新版本 使用conda安装torch&#xff0c;在终端进入要安装的环境&…...

生成式人工智能在生产型企业中的应用

生成式人工智能&#xff08;Generative AI&#xff09;是指使用人工智能来创建新内容&#xff0c;如文本、图像、音乐、音频和视频等。生成式人工智能在生产型企业中的应用涵盖了内容创作与自动化、数据分析与决策支持、生产流程优化、产品设计与开发、客户服务与沟通、员工培训…...

Linux逻辑卷管理

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

机器人加装电主轴【铣削、钻孔、打磨、去毛刺】更高效

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

opencv sdk for java中提示无stiching模块接口的问题

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

今天最新早上好问候语精选大全,每天问候,相互牵挂,彼此祝福

1、朋友相伴&#xff0c;友谊真诚永不变&#xff01;彼此扶持绿树荫&#xff0c;共度快乐雨后天&#xff01;一同分享的表情&#xff0c;愿我们友情长存&#xff0c;一生相伴永相连&#xff01; 2、人生几十年&#xff0c;苦累伴酸甜&#xff0c;风华不再茂&#xff0c;雄心非当…...

五种IO模型- 阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO

在操作系统中处理输入/输出&#xff08;IO&#xff09;操作的过程中&#xff0c;存在多种方式&#xff0c;包括阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。这些方式在操作系统实现和应用程序编写时有着不同的适用场景和性能特征。接下来&#xff0c;我将逐一介绍它们…...

Vscode GStreamer插件开发环境配置

概述 本教程使用vscode和Docker搭建Gstreamer2.24的开发环境&#xff0c;可以用于开发调试Gstreamer程序或者自定义插件开发。 1. vscode依赖插件 C/C Extension Pack&#xff08;ms-vscode.cpptools-extension-pack&#xff09;&#xff1a;该插件包包含一组用于 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 时&#xff0c;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()接口设置窗口全屏布局时&#xff0c;默认使能组件安全区布局。可以使用expandSafeArea属性扩展安全区域属性进行调整 扩展安全区域属性原理 布局阶段按照安全区范围大小进行UI元素布局。布局完成后查看设置了expandSafeArea的组件边界&…...

【es6复习笔记】Spread 扩展运算符(8)

在现代前端开发中&#xff0c;JavaScript 的扩展运算符&#xff08;Spread Operator&#xff09;是一个非常有用的特性&#xff0c;它允许你将数组或对象展开&#xff0c;以便在函数调用、数组拼接、对象复制等场景中更方便地处理数据。扩展运算符&#xff08;spread&#xff0…...

第22天:信息收集-Web应用各语言框架安全组件联动系统数据特征人工分析识别项目

#知识点 1、信息收集-Web应用-开发框架-识别安全 2、信息收集-Web应用-安全组件-特征分析 一、ICO图标&#xff1a; 1、某个应用系统的标示&#xff0c;如若依系统有自己特点的图标&#xff1b;一旦该系统出问题&#xff0c;使用该系统的网站都会受到影响&#xff1b; 2、某个公…...

后端-redis

Redis RedisString类型String类型的常用命令 Hash类型Hash类型的常用命令 List类型List类型的常用命令 Set类型Set类型的常用命令 SortedSet类型SortedSet类型的常用命令 Redis序列化缓存更新策略缓存穿透缓存雪崩缓存击穿 Redis Redis是一个key-value的数据库&#xff0c;key…...

开发场景中Java 集合的最佳选择

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

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语言的代码静态检查工具集 官网地址&#xff1a;golangci-lint 特性&#xff1a; 快…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...