Java-Spring

为什么要使用spring

综述省去很多非业务层代码研发的工作,提升javaweb服务研发效率,降低研发难度
详解1、spring非常轻量且非侵入式,耦合低,污染小
2、通过非常方便的依赖注入以及面向接口编程,可以实现业务代码之间的松耦合
3、支持面向切面编程,可以非常方便的剥离不同层面的逻辑之间的依赖
4、整体配置量少且简单

什么是aop

aop简介Aspect-Oriented Programming,面向切面编程,把一个流程里面的日志打印、安全检查等部分流程看成是一个切面,即面向一个流程中的某一部分进行编程

什么是ioc

ioc简介Inversion of Control,控制反转,也成依赖注入,目的是将组件的创建与配置自动化并且与使用进行分离

spring有哪些主要模块

模块名称模块作用
core框架基础部分,提供ioc实现及bean的配置、管理
context提供上下文信息以及很多企业级功能,比如邮件等
daoJDBC的抽象层,与数据库交互部分,避免与业务代码耦合
orm映射模块,比如mybatis等
aop提供aop开发能力
web提供对其他框架的支持与管理功能
MVC提供了一套MVC开发框架规范

spring常用的注入方式

1、构造方法注入
2、setter方法注入
3、注解注入

spring中的bean是线程安全的吗

不是,spring不会保证bean线程安全

spring支持的bean的作用域

1、单例
2、普通属性
3、一次请求
4、一次会话
5、全局会话

spring自动装配bean有哪些方式

方式简介
隐式的bean发现机制和自动装配XML中配置依赖关系,同时代码中需要实现相关的setter、getter方法接口
xml中显示配置1、default
2、no
3、byType
4、byName
5、constructor
java代码中配置@Autowired

spring事务的实现方式

事务定义一组操作,这些操作作为一个整体,要么全都执行成功,要么全都执行失败
实现方式1、手动编码实现,手动调用beginTransaction()、commit()、rollback()等方法
2、通过@transcationnal实现

说一下spring事务隔离

事务隔离意义解决事务同时执行过程中出现的脏读、幻读、不可重复读问题
多个事务同时执行会出现的问题1、脏读:一个事务可以读取到另一个事务未提交的数据
2、一个事务由于另一个事务同时执行insert操作造成多次查询结果不一致问题
3、不可重复读:一个事务多次查询到的同一条数据由于另一个事务的update操作导致不一致
事务隔离特性1、原子性
2、一致性
3、隔离性
4、持久性

spring mvc执行流程

1、前端发起请求,DispatcherServlet收到请求
2、DispatcherServlet向HandlerMapping请求获得HandlerExecutionChan(包含处理器信息)
3、DispatcherServlet使用HandlerExecutionChan向HandleAdapter发请求
4、HandlerAdapter向Handler发请求
5、Handler响应请求,生成ModelAndView,返回给DispatcherServlet
6、DispatcherServlet使用ModelAndView向ViewResolve发请求,ViewResolve返回view
7、DispatcherServlet将view渲染成最终的视图并完成对前端的响应

spring mvc有哪些组件

组件简介
DispatcherServlet中央控制器,串整个流程
Controller处理器,具体处理请求的部分
HandlerMapping映射处理器,让DispatcherServlet找到属于自己的Controller
ModelAndViewController处理结果
ViewResolver视图解析器,解析ModelAndView
Interceptors拦截器,负责拦截配置好的请求

@RequestMapping作用

一个用来处理请求的注解,参数可配置请求地址、请求方法、请求参数等

@Autowired作用

注入依赖

什么是spring boot

一个为了简化spring应用的配置及开发过程的框架

为什么要使用spring boot

1、配置简单
2、依然基于spring构建应用,学习成本低
3、可以独立构建应用,不需要依赖web应用容器
4、内置tomcat,不需要jar包,即可在tomcat中运行
5、提供maven极简配置以及各种可视化监控功能
6、给spring cloud提供支持,降低微服务构建难度
7、spring boot可以整合各种框架
8、社区活跃

spring boot的核心配置文件是什么

1、application.yml
2、bootstrap.properties

spring boot有哪几种配置文件,区别是什么

application.ymlbootstrap.properties
加载方式从classpath中读取
加载顺序先加载bootstrap.properties(系统配置),再加载application.yml(应用配置)
文件内容格式key:valuekey=value
配置内容范围应用配置系统配置

spring boot有哪些方式可以实现热部署

1、模板热部署
2、debug
3、spring-boot-devtools
4、spring loaded
5、JRebal

jpa、hibernate区别

jpahibernate
区别java制定的一套ORM接口,也是一种规范jpa接口的具体实现

spring cloud是什么

简介一系列框架的有序集合,目的是为分布式系统的构建提供支持
特点基于spring boot,整合了许多经典框架、库等资源,没有重复造轮子

spring cloud 断路器作用

作用避免故障蔓延
实现当某个故障节点被调用时,断路器会立马返回一个错误,使调用方尽快释放资源

spring cloud 核心组件

组件作用
Eureka服务发现
Ribbon负载均衡
Hystrix断路器
Feign服务间调用
Zuul网关

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

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

相关文章

12、电科院FTU检测标准学习笔记-双路电源自动切换

作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…

P2. 配置MySQL和用户注册登录模块

P2. 配置MySQL和用户注册登录模块 0 概述Tips1 预备知识1.1 SpringBoot 常用模块1.2 pojo层的实现1.3 mapper层的实现1.4 controller层调试CRUD 2 Spring Security2.1 Spring Security 介绍2.2 Spring Security 对接数据库2.3 密码的加密 3 Jwt验证3.1 传统Session验证方式3.2 …

ViewFlipper常见小问题

与click事件冲突 问题描述 维护老代码,有一个需求,一个组件使用ViewFlipper开发,既能左右滑动,也可以点击内部的子view,这里需要区分click事件月fling事件,在click的时候做某些业务。 问题分析 父view点…

Monocular Model-Based 3D Tracking of Rigid Objects:2005年综述

1 Introduction 在视频序列中跟踪一个物体意味着在物体或摄像机移动时,持续识别其位置。根据物体类型、物体和摄像机的自由度以及目标应用的不同,有多种方法可供选择。二维跟踪通常旨在跟踪物体或物体部分的图像投影,这些物体的三维位移会导…

如何应对EI会议中的突发情况?

在参加EI会议时,难免会遇到一些突发情况,以下是几种常见的突发情况及应对策略: 突发情况及应对策略 1. 技术故障 投影设备故障:提前将演示文稿上传到会议主办方指定的平台,或带上多个版本(如USB驱动器和云…

JAVA面试题大全(八)

1、说一下你熟悉的设计模式? 设计模式是软件开发中的一种常见解决方案,用于解决特定类型的问题。 单例模式(Singleton Pattern):确保一个类只有一个实例存在。懒汉式(先声明变量,等到实际用到…

牛客前端面试高频八股总结(1)

1.html语义化 要求使用具有语义的标签:header footer article aside section nav 三点好处: (1)提高代码可读性,页面内容结构化,更清晰 (2)无css时,时页面呈现出良好…

TCP通信流程

TCP通信流程 TCP和UDP的区别 TCP(传输控制协议) 面向连接的:在数据传输之前,TCP 需要三次握手来建立连接。可靠的传输:通过序列号、确认响应、重传机制、流量控制和拥塞控制来保证数据正确传输。基于字节流&#xf…

Docker访问文件权限受限问题解决

问题描述 运行项目的docker环境,新添加了一个数据集,但是数据集的访问权限受限(Permission dinied),运行的命令如图所示 问题解决 chmod 777 xxx YYDS!!!但是单纯直接运行会因为权限…

vue使用driver.js引导并自定义样式和按钮

参考网址https://driverjs.com/docs/installation 安装 npm install driver.js 以下是1.3.1版本的基本使用方法 import { driver } from driver.js import driver.js/dist/driver.css mounted() {// 实例化driver对象const driverObj driver({showProgress: true,steps: …

LeetCode674:最长连续递增序列

题目描述 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每个 l < i < r&#xff0c;都有 nums[i] < nums…

uniapp微信小程序在ios端返回不显示弹窗的bug解决

这个问题其实是因为返回页面的时候弹的太快了导致的解决办法&#xff1a; 其实就是返回页面的弹窗加个延迟就好啦

iOS单元测试覆盖率报告导出功能实现

一、插件安装 在Mac电脑上&#xff0c;安装slather插件。插件地址&#xff1a;https://github.com/SlatherOrg/slather 安装命令&#xff1a; gem install slather二、在Xcode上设置Code Coverage&#xff0c;Targets指定XXX 三、在终端切换到项目根目录下&#xff0c;执行单…

在Windows上创建RAM Disk

在Windows 10上创建一个与Linux中的tmpfs相似的内存文件系统&#xff08;一个文件系统&#xff0c;它使用主内存作为存储&#xff09;通常不是操作系统直接提供的功能。不过&#xff0c;有一些方法可以实现类似的效果。 使用软件创建RAM Disk 有一些第三方软件可以帮助在Wind…

牛马真的沉默了,入职第一天就干活

入职第一天就干活的&#xff0c;就问还有谁&#xff0c;搬来一台N手电脑&#xff0c;第一分钟开机&#xff0c;第二分钟派活&#xff0c;第三分钟干活&#xff0c;巴适。。。。。。 打开代码发现问题不断 读取配置文件居然读取两个配置文件&#xff0c;一个读一点&#xff0c;…

Java时间工具类(Date和LocalDateTime)

Date package com.qiangesoft.utils.date;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;/*** 日期工具类** author lq* date 2024-05-23*/ public class DateUtil {public static final String[] C…

Docker 安装最新版MongoDB 限制内存 配置权限

目录 一、Dokcer安装命令 二、配置MongoDB管理员 一、Dokcer安装命令 docker pull mongo docker run -m 512M --name mongo -p 27017:27017 -d mongo --auth 这里通过-m来限制mongodb使用内存的大小&#xff0c;可以按需求来设置。 二、配置MongoDB管理员 数据库权限有以…

HiWoo Box边缘计算网关

​在数字化浪潮汹涌的今天&#xff0c;边缘计算网关成为了连接物理世界与数字世界的桥梁&#xff0c;其重要性日益凸显。HiWoo Box&#xff0c;作为一款功能强大的边缘计算网关&#xff0c;不仅具备了传统网关的基本功能&#xff0c;更在数据采集、处理、传输等方面展现出了卓越…

怎么使Ajax设为同步和异步

Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;最初的设计就是异步的&#xff0c;这意味着当发送请求时&#xff0c;浏览器不会等待服务器的响应就会继续执行后续的JavaScript代码。这使得用户界面&#xff08;UI&#xff09;在请求处理时不会冻结&#xff0c;从…

后端开发面试题2(附答案)

前言 在下首语言是golang,所以会用他作为示例。 原文参见 @arialdomartini的: Back-End Developer Interview Questions 开放式问题 1. 为什么人们会抵制变化? 以下列举了一些常见理由: 稳定性与可靠性: 已经投入生产环境的软件经过长时间的测试和使用,证明了其稳定性…