当前位置: 首页 > 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; 快…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...