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

建站网站教程高校思政网站建设意义

建站网站教程,高校思政网站建设意义,做网站多久,网络推广方案撰写一、spring 1.Spring 是什么#xff1f; 答#xff1a;spring 是一个轻量级的容器框架#xff0c; ioc 和 aop 是他的核心。spring 将传统的代码以来形式#xff0c;变为从容器中获取#xff0c;提高了开发效率#xff0c;非常的方便。spring 衍生出了很多生态#x…一、spring  1.Spring 是什么 答spring 是一个轻量级的容器框架 ioc 和 aop 是他的核心。spring 将传统的代码以来形式变为从容器中获取提高了开发效率非常的方便。spring 衍生出了很多生态比如spring-jdbcspringboot 等等。 2.解释一下 Spring 的 ioc 控制反转 答控制反转通过将对象的创建和依赖关系的管理交给Spring IoC容器极大地提高了代码的模块化和可维护性。IoC的主要实现方式是依赖注入其中通过构造函数注入、Setter方法注入和字段注入等形式来注入这样 Spring容器能够自动管理对象的依赖关系使得应用程序代码更加简洁。 3.bean 的作用范围和生命周期 答 bean 的作用范围主要用 singletonprototyperequestsessionglobalsessionapplication。常用的就是 singletonsingleton 是单例的当 bean 是无状态的时候singleton 是最好的使用方式如果说 bean 里面涉及共享数据singleton 就不够安全了这个时候需要使用 prototype。bean 的生命周期从实例化创建 bean 开始然后进行属性设置。再之后调用 bean 的一些初始化方法如果有则执行这样处理完之后bean 就可以被使用了。最终当 bean 要被销毁的时候就会调用 destroy 方法进行 bean 的后置处理以上。 4.Spring循环依赖问题是什么 答Spring循环依赖问题是指在Spring容器中两个或多个Bean之间存在直接的或间接的依赖关系导致在创建和初始化这些Bean时形成了一个闭环使得无法正确地创建和初始化这些Bean。主要有两种形式一种是构造器循环依赖一种是 setter 方式的循环依赖。构造器循环依赖主要是 Bean A的构造器需要Bean B作为参数而Bean B的构造器又需要Bean A作为参数。由于构造器是在Bean实例化时调用的所以Spring容器无法先创建其中一个Bean因为这样会导致另一个Bean无法实例化从而形成死循环。setter 循环依赖发生在Bean的setter注入方法中。与构造器循环依赖不同setter注入是在Bean实例化之后进行的。如果循环依赖关系复杂或配置不当也可能导致Spring容器无法正确初始化Bean。Spring容器采用了三级缓存机制来处理setter注入的循环依赖。 5. 三级缓存是如何解决循环依赖的 其中一级缓存用于存储完全初始化好的单例 Bean二级缓存用于存储早期暴露的 Bean 实例部分初始化的 Bean。三级缓存用于存储 Bean 工厂主要用于创建 Bean 的代理对象。假设现在有两个对象 A 依赖 BB 依赖 A。那么在A创建过程中发现需要属性 B查找发现 B 还没有在一级缓存中于是先将 A 放到三级缓存中此时的 A 不完整没有属性但是可以引用。接下来就去实例化B。B 开始创建此时发现需要A于是B先查一级缓存寻找A如果没有再查二级缓存如果还没有再查三级缓存找到了A然后把三级缓存里面的这个A放到二级缓存里面并删除三级缓存里面的A。B顺利初始化完毕将自己放到一级缓存里面此时B里面的A依然是创建中的状态。然后回来接着创建A此时B已经创建结束可以直接从一级缓存里面拿到B这样 A 就完成了创建并将A放到一级缓存。 6.spring的常用注解 比较常用的就是Component将类放到容器管理autowiredresource来装配 bean。还有就是 configuration 和 bean 进行配合装载 bean 进入容器。以及一些扩展的注解比如 aop 的 aspect 切面事务相关的 transsactional。 二、Spring MVC 1.SpringMVC的原理及执行流程 Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架它大量使用了Spring框架中提供的设计模式。Spring MVC框架的核心组件包括 DispatcherServlet前端控制器负责接收请求并根据映射关系调用相应的控制器。HandlerMapping负责根据请求的URL到HandlerMapping中找到映射的处理器Controller。HandlerAdapter负责根据处理器生成处理器适配器通过适配器调用实际的处理器。Controller处理器执行相应的业务逻辑操作并返回ModelAndView对象。ModelAndView包含了视图逻辑名和模型数据的对象是连接控制器和视图的桥梁。ViewResolver负责解析视图名到具体视图实现类的映射根据视图名称找到对应的视图实现类。View视图负责渲染数据并展示给用户。 2.什么是 Spring MVC 的 REST 支持 答pring MVC的REST支持是指Spring MVC框架提供的一系列特性和工具用于简化构建RESTful Web服务的过程。RESTRepresentational State Transfer是一种架构风格用于设计网络应用程序特别是Web应用程序。它基于HTTP协议使用标准的HTTP方法如GET、POST、PUT、DELETE来操作资源。 3.如何在 Spring MVC 中处理 JSON 数据 答使用requestbody 注解反序列化前端传来的json数据。 4.什么是 RestController 注解 答RestController注解是ResponsBody和Controller注解的结合体 三、MyBatis 1.什么是mybatis框架 答mybatis 是一个持久层框架帮助我们操作数据库相比于传统的 jdbc 使用 myabtis 非常的方便以前繁琐的配置细节都被内部进行了封装。处理起来非常的方便。使用 mybatis 只要定义一个接口同时定一个 xml 文件在 xml 中写实际的 sql 就可以实现对数据库的查询提供了动态 sql属性映射缓存支持插件等特性。 2.MyBatis的Xml映射文件中都有哪些常见标签 答好的面试官常见的有 mapperselectresultmapifsql 等等标签像 mapper 标签是 xml 中的根部有了它才能够和接口进行映射。selectinsert 这些定义了这个 sql 行为到底是查询还是插入。当我们把查询出的数据要映射到实体的时候可以封装一个 map这样我们不用每个字段都写 as只需要用 resultmap就可以自动帮我们进行属性映射。当想要判断一些条件来决定是否拼接 sql 的时候可以使用 if。最后就是公共的 sql比如 select 后面的一堆属性可以放在 sql 标签内 3.如何避免 sql 注入 好的面试官。sql 注入是一个非常难搞的问题。如果不加以防范就会对我们的系统造成危险。mybatis 避免 sql 注入的方式有几层。首先就是 myabtis 采取了预编译的 sql 语句预编译的 sql 语句是参数化查询不是直接拼接这种就会导致攻击者的输入并不会当作 sql 执行这是一种防御机制。另一种就是我们在开发的过程中要保证在拼接的时候使用#占位符。#不会直接拼接可以安全的传递然而如果使用$就会导致直接拼接这样会造成 sql 注入问题不过有些需求确实是动态的 sql 处理要动态传入表名动态传入字段等等。这种情况也就只能使用$进行了。以上。 4.mybatis中的一级缓存和二级缓存的区别 MyBatis 的二级缓存是一个跨会话Session级别的缓存机制用于减少数据库访问次数提高应用程序性能。它与一级缓存的主要区别在于其作用范围和持久性。 一级缓存 二级缓存 作用范围 一级缓存是会话级别的缓存作用范围仅限于同一个SqlSession。 二级缓存是跨会话级别的缓存作用范围是整个SqlSessionFactory。不同的SqlSession实例可以共享二级缓存。 生命周期 一级缓存的生命周期与SqlSession一致。当SqlSession关闭时一级缓存也会被清空。 二级缓存的生命周期与SqlSessionFactory一致通常在应用程序运行期间一直存在。 开启方式 一级缓存默认是开启的无需额外配置。 二级缓存需要在 MyBatis 配置文件中显式开启并且可以配置不同的缓存提供者如 Ehcache、Hazelcast 等。 四、SpringBoot 1.什么是SpringBoot 答Spring Boot 是由 Pivotal 团队提供的一个基于 Spring 框架的项目它旨在简化 Spring 应用的开发和部署。Spring Boot 通过提供一系列的约定和开箱即用的功能使得开发者可以更快地构建独立的、生产级的 Spring 应用程序而无需进行繁琐的配置。 2.SpringBoot如何固定版本 spring-boot-starter-parent 使用spring-boot-starter-parent是最常见的方法之一。它不仅提供了一组默认的依赖版本还包括了一些有用的插件配置。你可以在pom.xml中指定 Spring Boot 的版本 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.5/version !-- 这里指定了Spring Boot的版本 --relativePath/ !-- lookup parent from repository -- /parent 这样所有 Spring Boot 相关的依赖都会使用这个版本中定义的版本号。 使用dependencyManagement 如果你不想使用spring-boot-starter-parent作为父 POM或者你的项目已经有了其他的父 POM你可以使用dependencyManagement来管理依赖版本。这样可以手动指定各个依赖的版本 dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.7.5/versiontypepom/typescopeimport/scope/dependency/dependencies /dependencyManagement 然后在你的dependencies部分添加具体的依赖时不需要再指定版本号 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 其他依赖 -- /dependencies 3.SpringBoot自动配置原理 答Spring Boot 的自动配置,能够根据项目中的依赖和配置自动地为你配置 Spring 应用程序而无需手动编写大量的配置代码。这个特性极大地简化了 Spring 应用程序的开发过程。 4.SpringBoot配置文件注入 使用Value注解注入配置 Value注解可以直接将配置文件中的值注入到 Spring Bean 的字段中。 app.nameMyApp app.version1.0.0 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;Component public class AppConfig {Value(${app.name})private String appName;Value(${app.version})private String appVersion;// Getters and setterspublic String getAppName() {return appName;}public String getAppVersion() {return appVersion;} } 使用ConfigurationProperties注解注入配置 ConfigurationProperties注解可以将配置文件中的属性映射到一个 Java Bean 中。通常与EnableConfigurationProperties注解配合使用。 app:name: MyAppversion: 1.0.0 import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Component ConfigurationProperties(prefix app) public class AppProperties {private String name;private String version;// Getters and setterspublic String getName() {return name;}public void setName(String name) {this.name name;}public String getVersion() {return version;}public void setVersion(String version) {this.version version;} } import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties;SpringBootApplication EnableConfigurationProperties(AppProperties.class) public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} } 使用Environment接口获取配置 Spring 的Environment接口可以用来访问配置文件中的属性。 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component;Component public class AppConfig {Autowiredprivate Environment env;public String getAppName() {return env.getProperty(app.name);}public String getAppVersion() {return env.getProperty(app.version);} } 使用PropertySource注解加载外部配置文件 如果需要加载外部的配置文件可以使用PropertySource注解。 external.propertyvalue import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.beans.factory.annotation.Value;Configuration PropertySource(classpath:external.properties) public class ExternalConfig {Value(${external.property})private String externalProperty;// Getterpublic String getExternalProperty() {return externalProperty;} } 5.SpringBoot日志关系 答Spring Boot 中的日志系统是基于 SLF4JSimple Logging Facade for Java和 Logback 的组合。SLF4J 提供了一个简单的日志记录 API而 Logback 是一个强大的日志实现。
http://www.w-s-a.com/news/347179/

相关文章:

  • 涡阳在北京做网站的名人注册一个免费的网站
  • 三门峡建设环境局网站公司注册网上核名通道
  • 叶县建设局网站要看网海外域名是多少
  • 网站运行环境配置Wordpress支付时效
  • logo设计网站知乎港北网站建设
  • 北京市保障性住房建设投资中心官方网站有限责任公司的特点
  • 做网站卖互联网营销怎么做
  • 晋州市建设局网站建站网站系统
  • 专业网站优化方案广东微信网站制作报价表
  • 北京网站建设公司分形科技简述营销网站建设策略
  • 汉中网站建设有限公司vue网站开发
  • 网站备案背景幕布阳江东莞网站建设
  • 北京网站建设要多少钱html网站标签
  • 做兼职做网站的是什么公司网站怎么修改
  • 舆情监控都有哪些内容西安seo网站公司
  • 网站有域名没备案天津网络营销
  • 哈巴狗模式网站开发电子商务平台建设与运营技术
  • 摄影网站源码wordpress内涵段子
  • 实验一 电子商务网站建设与维护图片做网站
  • 网站策划书模板大全中国建设部官方网站资格证查询
  • vps绑定多个网站创意咨询策划公司
  • 做qq图片的网站网页制作与网站建设江西
  • 做爰全过程的视频网站网络文化经营许可证怎么办
  • 常德市网站建设网站开发用哪个软件好
  • 网站文章怎么更新时间重庆勘察设计网
  • 外卖网站设计企业网站优化做法
  • 专业的营销型网站制作wordpress版权年份
  • 程序员会搭建非法网站吗怎么把wordpress字去掉
  • 牡丹江营商环境建设监督局网站中国档案网站建设的特点
  • 网站欣赏网站欣赏知名企业网站搭建