Java框架

Java框架面试试卷 SpringMVC是Spring框架中用于构建Web应用的模块,Spring AOP是面向切面编程的模块,Spring Boot则是用于简化Spring应用开发的工具。IoC(控制反转)是Spring框架的核心思想之一,它强调将原本由代码直接操控的对象的调用权交给Spring容器来管理,由Spring容器来控制对象的生命周期和依赖关系。【解析】在Spring框架中,IoC容器(控制反转容器)用于管理Bean的生命周期,包括Bean的创建、初始化、销毁等过程,以及实现Bean之间的依赖注入。 阅读详情

1、Spring

Spring Framework 它是很多模块的集合。

spring-core:Spring 框架基本的核心工具类。主要提供 IoC 依赖注入功能的支持。
为什么叫控制反转?基于Java反射机制。
控制:指的是对象创建(实例化、管理)的权力
反转:控制权交给外部环境(Spring 框架、IoC 容器)

spring-beans:提供对 bean 的创建、配置和管理等功能的支持。
注入bean的三种方式: 构造函数、get set、@Autowired

bean的作用域有:
singleton : IoC 容器中只有唯一的 bean 实例。Spring 中的 bean 默认都是单例的,是对单例设计模式的应用。
prototype: 每次获取都会创建一个新的 bean 实例。request、session、websocket 

bean线程安全  有状态不安全  无状态安全   取决于成员变量是否可变,如对象里有List<其他对象>
避免线程不安全的方法:尽量设计 Bean 为无状态。 将可变成员变量保存在 ThreadLocal 中,确保线程独立。

bean生命周期:
创建 Bean 的实例----Bean 属性赋值/填充-----Bean 初始化------销毁 Bean

spring-secuity:权限控制

spring-context:提供对国际化、事件传播、资源加载等功能的支持。

spring-aop:提供了面向切面的编程实现。基于动态代理。@Order 注解直接定义切面顺序

spring-jdbc:提供了对数据库访问的抽象 JDBC。不同的数据库都有自己独立的 API 用于操作数据库,而 Java 程序只需要和 JDBC API 交互,这样就屏蔽了数据库的影响。

spring-tx:提供对事务的支持。

spring-orm:提供对 Hibernate、JPA、iBatis 等 ORM 框架的支持。

spring-web:对 Web 功能的实现提供一些最基础的支持。

spring-webmvc:提供对 Spring MVC 的实现。

spring-websocket:提供了对 WebSocket 的支持,WebSocket 可以让客户端和服务端进行双向通信。

Spring MVC 是 Spring 中的一个很重要的模块

主要赋予 Spring 快速构建 MVC 架构的 Web 程序的能力。MVC 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代码。

核心组件有:DispatcherServlet  HandlerMapping  HandlerAdapter  Handler  ViewResolver

统一异常处理:@ControllerAdvice + @ExceptionHandler

设计模式:

单例模式:springbean都是单例的

工厂模式:BeanFactory创建bean对象

代理模式:aop

模板模式:以 Template 结尾的对数据库操作的。

Spring 的三级缓存:

一级是singletonObjects单例池   二级是earlySingletonObjects 存放三级产生的半成品对象 未赋值的bean    三级是singletonFactories

Spring事务:

 编程式事务   硬编码

声明式事务@Transactional注解到方法上

默认事务传播行为  是如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。 默认使用数据库的隔离级别。

失效的情况
非public   同一类内部调用  捕获了异常

2、Spring-Boot

核心注解:

@SpringBootApplication=@EnableAutoConfiguration(启用自动配置)+@ComponentScan(扫描注解的bean)+@Configuration(扫描其余的bean)

@EnableAutoConfiguration:实现自动装配的核心注解,自动装配核心功能的实现实际是通过 AutoConfigurationImportSelector类。

3、Mybatis

动态标签:<resultMap>、 <parameterMap>、 <sql>、 <include>、 <selectKey> ,加上动态 sql 的 9 个标签, trim|where|set|foreach|if|choose|when|otherwise|bind 等,其中 <sql> 为 sql 片段标签,通过 <include> 标签引入 sql 片段, <selectKey> 为不支持自增的主键生成策略标签。

批处理:使用 BatchExecutor 完成批处理。

一级缓存:sqlSession 级别 默认  二级缓存:mapper级别 可以在mybatis-config.xml开启

Hibernate 缓存:一级Session级别 默认  二级SessionFactory

MyBatis Plus 提供了通用的 Mapper 接口 BaseMapper,只需继承这个接口就可以获得常见的 CRUD 方法,无需额外编写 SQL。

MyBatis Plus 提供了更加简洁的 API 来构建查询条件,比如 QueryWrapper 或者 LambdaQueryWrapper,减少了硬编码字段名的风险。

MyBatis Plus 包含了诸如代码生成器、分页插件、条件构造器等特性,这些可以极大地减少重复代码的工作量。

4、Spring-Cloud

服务注册与发现: Eureka、Consul 和 Nacos、ZooKeeper 

配置中心:Spring Cloud Config

网关:Spring Cloud Gateway 、Zuul

通信:Feign 

熔断器:Hystrix 

负载均衡:Ribbon 

分布式事务解决方案,seata

      微信终于支持“多设备同时在线”?我用 NAS + Docker 搭了一个云端微信系统,多端共享24小时在线 通过Docker 容器,将微信运行在云端并通过浏览器访问,实现多设备共享同一微信会话 📱。本文详细介绍完整部署流程、docker-compose 配置及资源控制方案,让微信变成“可访问的云桌面应用” ✨ 阅读详情

      相关推荐

      【毕业设计】QT实战:从零构建仿QQ通讯系统,打造你的简历亮点项目

      本文为计算机专业毕业生提供了一份详尽的毕业设计实战指南,教你如何从零开始使用QT框架构建一个仿QQ的即时通讯系统。文章深入剖析了项目规划、核心模块(登录、聊天、好友管理)的实现、TCP粘包处理、数据库设计等关键技术难点,并分享了如何将此项目打造成简历亮点,有效提升求职竞争力。

      omega的博客 442

      Java框架总结

      本系列用来记录常用java框架的基本概念、区别及联系,也记录了在使用过程中,遇到的一些问题的解决方法,方便自己查看,也方便大家查阅。 欲速则不达,欲达则欲速! 一、SSH 1、基本概念 SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成,是当前比较流行的java web开源框架。 集成SSH框架的系统从职责上分为(Struts2--...

      学Java,找哪吒 6万+

      基于COMSOL电弧动态仿真模型优化:高收敛性可修改吹弧方案解析

      在多物理场耦合分析中,电弧动态仿真历来是数值稳定性的难点:温度从室温跃升至数万开尔文,电导率随温度呈数量级跳变,流动、传热与电磁场相互牵制,极易引发求解器不收敛或初始值不一致等问题。如何构建高收敛性的数值模型,成为开关设备灭弧性能优化的重要技术基础。通过合理的几何简化、全耦合求解器配置、辅助扫描初始化策略以及参数化建模手段,可以实现对吹弧方案的灵活调整与批量寻优,从而系统性评估气流速度、喷口形状、触头间距等关键因素对熄弧性能的影响。这类仿真方法广泛应用于断路器、接触器等高压电器产品研发,为灭弧室结构设计提供

      weixin_29758911的博客 350

      【走进Java框架】什么是Java框架,为什么要学习Java框架.

      【走进Java框架】什么是Java框架,为什么要学习Java框架?带着这些疑惑,让我们一起进入java框架的学习吧

      程序员良辰 1416

      oracle p6 破解版下载,Primavera P6项目管理软件 16~17 图文详细安装教程(附下载)

      Primavera P6 Professional项目管理软件结合了Oracle和Microsoft SQL Server关系数据库,是一款非常好用且功能强大的综合的项目管理软件(PPM) 解决方案,主要用于土建等方面的施工计划分析,具有进度时间安排与资源控制功能的多用户、多项目系统,支持多层项目分层结构、角色与技能导向的资源安排、记录实际数据、自定义视图以及自定义数据,本文主要为大家图文详细介绍...

      weixin_33978451的博客 4912

      配置适合Gurobi的机器硬件环境需要考虑的因素

      介绍了在为gurobi选择合适的硬件环境时,需要考虑三个方面的因素;

      Linshaodan520的博客 1064

      Java笔记——Java框架有哪些?Java开发14大框架简介_java框架都有哪些

      SpringBoot是一个开源的轻量级框架。这是一系列框架有序集合,是目前最火的微服务框架首选,首先它是利用Spring Boot开发的便利性巧妙的简化了分布式系统基础的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。首先要说一下,本文对这些Java框架只做了一个总结,常用到的框架总结了14个,都值得深入去了解一下(什么是扎实基本功,这些就是基本功~~),小伙伴如果没有看到自己想学习的框架,可以给我说一下,我去做总结!

      a25847a的博客 1716

      零基础学simulink仿真建模--基于Simulink进行近端策略优化(PPO)路径规划的仿真建模

      特点高效性与稳定性:通过引入剪裁机制,在更新策略时限制步长,从而提高了训练过程的稳定性和效率。适用于多种动作空间:可以处理连续和离散的动作空间问题。无需模型:不需要预先知道环境的确切模型,适合复杂或未知环境。挑战收敛速度与稳定性:确保算法能够在合理的时间内找到近似最优解,并保持训练过程的稳定性。探索与利用平衡:在探索新路径和利用已知信息之间取得平衡。计算资源:对于大规模状态空间和动作空间,计算资源需求较高。首先明确要模拟的任务内容。目标(例如到达指定地点、避开障碍物等)。

      amy_mhd的博客 249

      Java框架有哪些

      Java框架有哪些 1、 Spring 框架:是一个轻量级控制翻转loC和面向切面AOP的容器框架,也是一个分层框架,一个开放源代码的J2EE应用程序框架。它的目的是解决企业应用开发的复杂性,使用范围是任何Java应用。Spring 现在能与所有主流开发框架集成,可谓是一个万能框架,Spring 让 JAVA 开发变得更多简单。 IOC容器:IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IO

      UncleXBo的博客 1510

      使用强化学习快速让AI学会玩贪食蛇游戏(轻量级二十分钟训练+代码)

      如何让AI玩会贪食蛇,甚至比你厉害概述构建问题(强化学习求解的一般步骤)环境动作定义状态定义奖励设计训练奖励值收敛图效果代码 概述 所用技术:强化学习(Deep Reinforcement Learning),属于一种无监督学习,利用奖励rewardrewardreward教会智能体AgentAgentAgent在合适的场景做合适的决策。 采用算法:试过两种算法D3QN和离散版本的PPO算法,最终采用离散版本PPO算法+GAE(PPO是我用过的性能最好的算法之一) 编程语言与深度学习框架:Python3.

      ZYunfei的博客 2万+

      【数据集】未来不同情景下预测数据:如人口、土地利用等

      未来不同情景下预测数据:如人口、土地利用等

      WW、forever的博客 2994

      什么是Java框架?主要的Java框架有哪些

      什么是Java框架?Java框架有哪些?Java框架可以简化开发难度,便于我们更好的开发程序。所以学好Java框架还是比较重要的。下面就简要描述一下Java开发常用的四大框架,以此来分析。 什么是Java框架 JAVA框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。框架又叫做开发中的半成品,它不能提供整个WEB应用程序的所有东西,但是有了框架,我们就可以集中精力进行业务逻辑...

      weixin_46112908的博客 1万+

      汉书HE8,好用的汇编代码编写工具

      汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

      java框架都有哪些

      它是基于 AOP的,也是微服务架构的基础。Spring Boot是一个基于 Spring的轻量级开发框架,它把 Spring MVC中的核心思想和原理通过封装的方式移植到了 Java应用开发中。下面为大家介绍一些比较常见的 java框架: Spring框架是一个应用程序开发框架,它提供了一组工具来简化应用程序开发,通过它可以有效地简化项目的管理和部署。Hibernate: Hibernate是一个基于 Java的可扩展框架,它是基于 AOP模式的,提供了一些标准的 API来加速开发过程。

      花生日记 6096

      锂电池充电器电路设计 里面有电路

      锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

      Statistics and Machine Learning Toolbox

      Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

      Java:什么是Java框架?

      Java框架是开发人员使用Java编程语言创建应用程序的预写代码体。Java框架是特定于Java编程语言的。这是一个用于开发软件应用程序和Java程序的Java平台。

      yueqian_edu的博客 3089

      VB摄像头监控

      该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

      java框架都有哪些_Java框架内容:常用的框架有哪些?

      对于学Java的人来说,学习和了解框架是必修的,但是Java的框架比较多,并不需要全部都学,只要学几个常用的框架,在工作的时候就差不多够用了。今天小编就来给大家介绍一下Java常用的框架有哪些?需要优先学习哪几个?Java的框架主要有:SpringMVC、Spring、Mybatis、Dubbo、Maven、RabbitMQ、Log4j、Ehcache、Redis、Shiro。不过这十个我们不需要...

      weixin_31990755的博客 1379

      java框架怎么用_如何熟练的使用Java框架

      很多的Java初学者从前辈的口中和各种资料中经常会听到一个词:Java框架,那么什么是“Java框架”?Java框架又包含哪些内容?今天小编为大家解答一下什么是Java的框架,主流的Java框架有哪些。首先我们来了解下什么是Java框架所谓的Java框架,简单理解是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之...

      weixin_35964787的博客 1227

      java框架_2020顶级九大 Java 框架

      作者丨Patricia Neil译者 | 平川策划 | 万佳Java 创建于 1995 年,目前有 134861 个网站使用 Java,如 ESPN、SnapDeal、阿里巴巴等。在 24 年的发展历程中,Java 已经证明自己是用于自定义软件开发的顶级通用编程语言。Java 广泛应用于科学教育、金融、法律和政府等行业。在下面的饼图中,您可以看到 Java 语言在各个行业中的使用情况。这种开源编程...

      weixin_39942033的博客 120

      java 有哪些框架_Java常用框架有哪些?这些框架有什么用?

      Java框架在Java开发中的作用是毋庸置疑的。那么Java常用框架有哪些?大概包括:Hibernate、Spring、Struts、jQuery、Redis五种。这些框架有什么用呢?Java常用框架提供了一些现成的机制,在团队开发中简化开发难度,下面小编就来具体介绍一下Java常用的五大框架。1、HibernateHIbernate是一个优秀的持久化框架,负责简化将对象数据保存到数据库中,或从数...

      weixin_39788740的博客 852

      java的框架有哪些_Java有哪些框架?

      Java在不断的发展,Java所用的主流框架也在不断的增多,比如说:从以前的Struts+ Spring + Hibernat到现在pring + SpringMVC + Hibernate/Mybatis。主流框架在不断的变化,那么,2020年Javaweb主流框架有哪些呢?Hibernate 框架Hibernate,它是一个开放源代码的对象关系映射框架,全称为 Object-Relative ...

      weixin_39574050的博客 654

      java后端主流框架_Java开发程序员必须需要熟悉的15个框架

      Java 程序员方向太多,且不说移动开发、大数据、区块链、人工智能这些,大部分 Java 程序员都是 Java Web/后端开发。那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢?下面和千锋广州Java小编一起来看看吧!​1.Spring毫无疑问,Spring 框架现在是 Java 后端框架家族里面最强大的一个,其拥有 IOC 和 AOP 两大利器,大大简化了软件开发复杂性。并且,S...

      weixin_39836536的博客 3188

      Java常用框架有哪些?

      Java作为目前最流行的后台开发技术,从1995年到现在经历了25年的发展,技术体系也是不断的丰富和完善,Java技术体系里面也提供了非常优秀和丰富的框架。那我就来说说Java体系里比较常用的框架有哪些吧。 1.SSH组合 一般常说的SSH组合框架,就是Struts,Spring,Hibernate,后来Struts被SpringMVC来取代,所以SSH也可以是后者的组合。在这4中框架中,Struts和Hibernate目前来看,已经比较陈旧,而且也是比较重的框架,企业中目前已经很少用了。一些二三线小公司

      mt776333的博客 2万+

      java框架难吗_java框架难学吗?怎样才能学好java框架?

      对于很多刚刚接触java框架的人来说,学习好java框架貌似是一件非常难的事情,那么我们究竟要如何才能够学好java框架呢?它真的有那么的难学吗?其实说句实话,java框架还是比较难学的,那么在这个基础上面,我们究竟应该怎样才能学好,一起来了解一下吧。很多刚刚学习java框架的人一定都比较熟悉下面的这个步骤:第一步就是导入jar包,第二步就是配置相关配置文件,第三步就是启动服务器;总的来说,大致就...

      weixin_35897853的博客 2862

      Java笔记——Java集合框架_java 集合框架

      调用 set(int index,Object o)方法改变List 集合指定索引处的元素时,指定的索引必须是List 集合的有效索引,例如长度是4,不饿能指定替换 index 值为4的元素,即该方法不会改变List 集合的长度。从集合中删除集合 c 里不包含的元素(相当于把调用该方法的集合变成该集合和集合c 的交集),如果该操作改变了调用该方法的集合,则该方法返回true。从集合中删除集合 c 里包含的所有元素(相当于用调用该方法的集合减集合 c),如果删除了一个或一个以上的元素,则该方法返回true。

      a25847a的博客 1482

      Java基础框架

      ◦ List/ArrayList/LinkedList:有序可重复列表(ArrayList数组实现,LinkedList链表实现)。• Eclipse/IntelliJ IDEA:代码编辑、调试、项目管理(IDEA更智能,近年主流)。2. 进阶阶段:学习Spring框架(IOC、AOP)、MyBatis(ORM映射)等企业级框架。• 组成:JVM + 核心类库(如java.lang、java.util)+ 运行时工具。• Socket/ServerSocket:TCP通信(客户端/服务器模式)。

      2501_90980144的博客 643

      java 开源的框架有哪些_java 开源的框架有哪些

      Spring Framework 【Java开源JEE框架】 (推荐学习:java课程)Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分...

      weixin_33281416的博客 351
      上一篇: Java总结
      下一篇: Java总结+框架
      adminaddress
      博客等级 码龄5年 59粉丝 11原创
      评论
      成就一亿技术人!
      拼手气红包6.0元
      还能输入1000个字符
       
       条评论被折叠 查看
      添加红包

      请填写红包祝福语或标题

      个

      红包个数最小为10个

      元

      红包金额最低5元

      当前余额3.43元 前往充值 >
      需支付:10.00元
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付元
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值