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

做纯净系统的网站网站做成app

做纯净系统的网站,网站做成app,批量 网站标题,wordpress文章自定义cssSpring Boot、Spring MVC 和 Spring 有什么区别? Spring:是核心框架,提供依赖注入(IoC)和面向切面编程(AOP)的基础功能,是其他模块的基石。 Spring MVC:是基于Spring的Web框架&…
Spring Boot、Spring MVC 和 Spring 有什么区别?
  • Spring:是核心框架,提供依赖注入(IoC)和面向切面编程(AOP)的基础功能,是其他模块的基石。

  • Spring MVC:是基于SpringWeb框架,专注于MVC模式(模型-视图-控制器),用于处理 HTTP请求和响应,支持URL路由、模板引擎等Web开发功能。

  • Spring Boot:是Spring的快速开发工具,通过自动配置(如内嵌 Tomcat)和 Starter 依赖简化了项目搭建

BeanFactoryApplicationContex有什么区别?
  • BeanFactorySpring的基础容器,提供基本的依赖注入功能,采用延迟加载。

  • ApplicationContextBeanFactory的子接口,是更高级的容器,如国际化支持、事件发布、AOP等,采用预加载策略。

SpringMVC 怎么样设定重定向和转发的?
  • 转发:返回视图名前加 forward:,如 return "forward:/path"

  • 重定向:返回视图名前加 redirect:,如 return "redirect:/path"

当一个方法向AJAX返回特殊对象,比如Object,List等,需要做什么处理?
  • 使用 @ResponseBody 注解将返回值序列化为 JSON/XML,并配合 @RestController 或配置消息转换器(如 Jackson)。示例:
SpringMvc 用什么对象从后台向前台传递数据的?
  • 可以使用 ModelModelMapModelAndView 对象来传递数据
AOP(面向切面编程)
  • 切入点:需要织入逻辑(增强功能)的方法。

  • 通知:织入的具体逻辑(增强的代码逻辑),如前置、后置、环绕通知。

  • 切面:绑定通知与切入点的关系。

  • 作用:统一处理日志、性能监控、事务管理,减少代码冗余,提升可维护性。

Spring AOP和IOC是什么?使用场景有哪些?Spring 事务,事务的属性,数据库隔离级别
  • AOP是面向切面编程,指在不影响原有代码的基础上对代码进行功能增强,使用场景有日志记录和权限控制,性能监控等

  • IOC是控制反转, 指的是对象创建、依赖管理的控制权程序本身转移到IOC容器

  • 容器的作用是创建 bean 实例并管理 bean 的生命周期,并实现依赖注入

  • DI 依赖注入是实现 IOC 的一种方式, 就是将依赖对象注入到目标对象中(给对象传递需要使用的其他对象),实现解耦合

  • DI的实现方式有setter注入,构造器注入,字段注入(使用@Autowired注解)

//Setter 注入
public class UserService {private UserRepository userRepository;public void setUserRepository(UserRepository userRepository) {this.userRepository = userRepository;}
}
//构造器注入
public class UserService {private final UserRepository userRepository;public UserService(UserRepository userRepository) {this.userRepository = userRepository;}
}
//字段注入
public class UserService {@Autowiredprivate UserRepository userRepository;
}
  • DI的使用场景有 : 控制对象生命周期,自动注入依赖对象(如 @Autowired), 配置管理(如使用 application.yml@Value 等)
Spring事务管理
  • Spring 事务保证一组数据库操作要么全部成功,要么全部失败(原子性),避免数据不一致,分为声明式事务和编程式事务,声明式事务通过注解,如 @Transactional 实现。编程式事务通过 TransactionTemplatePlatformTransactionManager 手动控制。

  • 事务的属性:
    propagation(传播行为):如 REQUIREDREQUIRES_NEW
    isolation(隔离级别):见下文
    timeout:超时时间
    readOnly:只读事务(可优化性能)
    rollbackFor:哪些异常触发回滚

  • 数据库隔离级别:

隔离级别说明可避免问题
READ UNCOMMITTED读未提交无法避免任何问题
READ COMMITTED读已提交(Oracle 默认)避免脏读
REPEATABLE READ可重复读(MySQL 默认)避免脏读、不可重复读
SERIALIZABLE串行化(最高级别)避免所有并发问题
什么是Spring的bean?

SpringBean,简单来说就是由Spring容器“产生”并“管理”的Java对象,bean的创建、配置以及生命周期都由容器负责

Bean 的生命周期
  1. bean实例化:通过反射或工厂方法创建Bean实例。

  2. 属性赋值:为Bean设置相关属性和依赖

  3. 初始化:完成Bean的初始化。

  4. 使用:Bean处于活动状态,可以在应用程序中使用。

  5. 销毁:容器关闭时调用销毁方法释放资源

Spring Bean 的配置方式主要有三种:
  1. XML配置:通过 <beans><bean> 标签声明Bean定义。

  2. 基于注解的配置:利用类级别或成员级别注解(如 @Component@Service@Controller@Repository)自动扫描并注册Bean

  3. 使用 @Configuration 配置类结合 @Bean 注解注册Bean

IoC接口

![[Pasted image 20250513142459.png]]

延迟加载: 真正需要bean时才创建bean实例

Spring 如何解决循环依赖?

Spring通过三级缓存来解决循环依赖问题.

Spring创建Bean的流程:

  1. 先去一级缓存中获取,存在就返回。

  2. 如果不存在或者对象正在创建中,于是去二级缓存中获取。

  3. 如果还没有获取到,就去三级缓存中获取,通过执行 ObjectFactorygetObject() 就可以获取该对象,获取成功之后,从三级缓存移除,并将该对象加入到二级缓存中。

Spring MVC 的核心组件有哪些?
  • DispatcherServlet:核心的中央处理器,负责接收请求、分发,并给予客户端响应。
  • HandlerMapping:处理器映射器,根据 URL 去匹配查找能处理的 Handler ,并会将请求涉及到的拦截器和 Handler 一起封装。
  • HandlerAdapter:处理器适配器,根据 HandlerMapping 找到的 Handler ,适配执行对应的 Handler
  • Handler:请求处理器,处理实际请求的处理器。
  • ViewResolver:视图解析器,根据 Handler 返回的逻辑视图 / 视图,解析并渲染真正的视图,并传递给 DispatcherServlet 响应客户端
单点登录
  • 身份提供者:集中式认证中心,用户首次登录后颁发 JWT Token

  • 服务提供者:各应用接收并校验 Token,有效则允许访问。

  • Token 传递:可通过HTTP HeaderCookie或重定向参数传递

cookie和session的区别
  • 存储位置:Cookie在客户端(浏览器),Session在服务器端。
  • Cookie占用内存更小,容易暴露,Session存储容量更大,更安全。
get和post请求的区别
  • get请求参数写在url后面,暴露在地址栏,而且url有长度限制
  • post请求的参数写在请求体中,没有长度限制
  • 传输敏感数据时推荐使用post
HTTP请求状态码
  • 200 OK:请求已成功。

  • 301 Moved Permanently:资源已被永久移动到新 URI,以后应使用新的 URI。

  • 302 Found:资源临时位于不同 URI,应继续使用原 URI 发起请求。

  • 400 Bad Request:请求格式错误。

  • 401 Unauthorized:请求需要身份验证。

  • 403 Forbidden:认证成功但权限不足。

  • 404 Not Found:请求的资源不存在。

  • 405 Method Not Allowed:请求方法不允许。

  • 500 Internal Server Error:服务器内部错误

  • 502 Bad Gateway:网关/代理错误,上游服务器无响应

过滤器和拦截器的区别
  • Filter(过滤器)属于Servlet层, Interceptor(拦截器)属于Spring MVC
  • Filter可以拦截所有请求,包括静态资源。Interceptor只能拦截DispatcherServlet处理的请求(即控制器 Controller 相关请求)。
HTTP方法
请求类型描述
GET获取资源
POST创建新资源
PUT更新现有资源
DELETE删除资源
PATCH部分更新现有资源
@Component 和 @Bean 的区别是什么?
  • @Component 于类,@Bean用于方法。

  • @Component标注的类不用编写配置,@Bean定义的Bean需要在配置类中定义方法来返回对象实例。

  • @Bean 注解比 @Component 注解的自定义性更强,而且很多地方我们只能通过 @Bean 注解来注册 bean。比如当我们引用第三方库中的类需要装配到 Spring容器时,则只能通过 @Bean来实现。

@Autowired和@Resource注解的区别
对比维度@Autowired@Resource(JSR - 250)
自动装配机制基于基于类型进行自动装配。如果多个匹配,需结合 @Qualifier按名称选择。优先按名称装配(指定 name 属性),若找不到对应名称的Bean,则按类型装配。
注入位置可用于字段、构造函数、方法参数等多种场景。常用于字段和方法参数的注入。
灵活性配合@Qualifier可灵活指定注入的 Bean,适合复杂场景。主要通过名称查找,灵活性稍逊于 @Autowired 和 @Qualifier 的组合。
@Controller和@RestController注解的区别
  • @Controller 返回的是视图名称,需要结合模型和视图解析器进行页面渲染。

  • @RestController 将方法返回值直接填入 HTTP 响应体中,返回的通常是JSON

将一个类声明为 Bean 的注解有哪些?
  • @Component:通用注解,可标注任意类为 Spring 组件。如果一个Bean不知道属于哪个层,可以使用@Component 注解标注。
  • @Repository : 对应持久层即Dao层,主要用于数据库相关操作。
  • @Service : 对应服务层,主要涉及一些复杂的逻辑,需要用到Dao层。
  • @Controller : 对应Spring MVC控制层,主要用于接受用户请求并调用 Service 层返回数据给前端页面
http://www.dtcms.com/wzjs/84990.html

相关文章:

  • 徐家汇做网站长沙网站se0推广优化公司
  • 网站建设是网络工程师吗电话销售如何快速吸引客户
  • 弹性盒子做自适应网站培训如何优化网站
  • 用js做网站阅读量武汉网站关键词推广
  • 网站制作代码大全俄国搜索引擎yandex入口
  • 网站开发代码归属整站优化
  • 网站模板代码怎么写谷歌seo是什么意思
  • 企业网站设计与建设雅虎搜索引擎中文版
  • 机械厂做网站百度seo培训公司
  • 怎么做才能让网站快速收录免费网站创建
  • 公司网站的定义注册城乡规划师报考条件
  • 企业网站基本信息早教百度收录入口提交查询
  • 做网站卖成人用品怎么样网络销售是做什么的
  • 手机端自定义做链接网站海外网络推广方案
  • 北京多用户商城网站建设技能培训班有哪些
  • 柳州网站建设百度人工客服24小时电话
  • 滨城区建设局网站网站优化的意义
  • 团购的网站扣佣金分录怎么做活动推广朋友圈文案
  • metro风格网站寄生虫seo教程
  • 高安网站建设武汉百度推广外包
  • 网站建设行吗郑州见效果付费优化公司
  • 淘宝客云建站官网搜索引擎网站
  • 网站客服案例电子商务主要学什么内容
  • 网站设计专业知识技能代运营电商公司
  • 哪个商城网站建设好网站开发怎么做
  • 网站加密中国培训网
  • 廊坊做网站的公司广州seo网络推广员
  • 美轮美奂的网站建设百度平台官网
  • 包装材料网站建设福建百度代理公司
  • 宁波做网站seo杭州百度优化