关于spring常用的面试

经常会问到的一些面试点

spring的依赖注入

spring bean

spring注解

spring数据访问

spring面向切面编程aop

还有springmvc

刚开始肯定会问你关于spring,或者说自己理解的spring其实也就是让你简单描述一下spring

可以从spring的官方介绍那些方面答一下,千万不要冷场,面试最怕冷场,试着用自己的话去简单描述一下,太过于官方的回答也会让面试觉得你在背答案,回答的时候要有自己的感情,自己的节奏在里面,比如说可以回答是一个java企业级应用框架,目标是简化java企业级的应用开发,通过pojo为基础的编程模型养成良好习惯

第二个肯定会接着问你用spring框架的好处了,。

可以简单的答,也可以复杂的答,最好先答简单的,后面面试官肯定会问你具体的,这样会形成一个交互沟通的场景,会让面试官觉得你不是背答案,无形之中会有好印象,比如这样回答

轻量化框架,控制反转,面向切面编程。容器,事务管理,异常处理

多个知识点不用全部答完,要挑重要的自己能打出来的知识点回答,面试时一定要自己把握节奏,不要面试官问什么答什么,这样无形之中会让面试官觉得你就是个机器,或者说你是背诵过来的,一定要放松,不要逼着面试官问你问题,,,哈哈

轻量化可以答spring是轻量化框架,基本的版本大约2mb,

控制反转,spring通过控制反转实现了松耦合,对象们给出他们的依赖,而不是创建或查找

面向切面,spring支出面向切面飙车,把应用业务逻辑跟系统服务分开

容器,spring包含并管理应用中对象的生命周期和配置

mvc框架,从mvc角度去描述

事务管理,spring提供一个持续的事务管理接口,可以扩展到上至本地事务,下至全局事务

异常处理,提供方便的api把具体技术相关的异常转化为一直的unchecked异常

 

什么是Spring的MVC框架?

Spring 配备构建Web 应用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts,Spring 的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。

 DispatcherServlet

Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。

WebApplicationContext

WebApplicationContext 继承了ApplicationContext  并增加了一些WEB应用必备的特有功能,它不同于一般的ApplicationContext ,因为它能处理主题,并找到被关联的servlet。

什么是Spring MVC框架的控制器?

控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。

@Controller 注解

该注解表明该类扮演控制器的角色,Spring不需要你继承任何其他控制器基类或引用Servlet API。

 @RequestMapping 注解

该注解是用来映射一个URL到一个类或一个特定的方处理法上。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是常见的 Spring Boot 面试题及其答案: 1. 什么是 Spring Boot? Spring Boot 是基于 Spring 框架的快速开发脚手架,它提供了常用的配置和依赖管理,使得开发者可以快速构建独立的、生产级别的 Spring 应用程序,而不需要过多的配置。 2. Spring Boot 和 Spring 框架的区别是什么? Spring Boot 是 Spring 框架的扩展,它提供了自动化配置、快速开发、无需 XML 配置文件等特性,使得开发者能够更快速地构建 Spring 应用程序。 3. Spring Boot 的优点有哪些? Spring Boot 的优点有: - 快速开发:Spring Boot 提供了自动化配置和依赖管理,使得开发者能够更快速地构建应用程序。 - 简化配置:Spring Boot 提供了默认配置,开发者可以根据需要进行修改,而无需进行繁琐的配置。 - 易于部署:Spring Boot 应用程序可以打包成 jar 包或 war 包进行部署,无需安装应用程序的容器。 - 微服务:Spring Boot 支持微服务开发,可以使用 Spring Cloud 进行服务注册、发现、路由等操作。 - 社区活跃:Spring Boot 拥有庞大的社区,开发者可以从中获取各种资料、解决问题。 4. Spring Boot 中的 starter 是什么? Spring Boot 中的 starter 是一组预定义的依赖,它们包含了常用的类库或框架,开发者可以直接引入这些依赖,而无需手动配置相关的依赖。 5. Spring Boot 中的自动配置是什么? Spring Boot 中的自动配置是一种特殊的配置,它会根据应用程序的 classpath 中的 jar 包和配置文件,自动配置应用程序的环境。开发者可以通过注解或配置文件进行覆盖或修改。 6. Spring Boot 如何实现热部署? Spring Boot 可以通过添加 devtools 依赖实现热部署。在 pom.xml 中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>runtime</scope> </dependency> ``` 7. Spring Boot 如何实现跨域访问? Spring Boot 可以通过添加 cors 配置实现跨域访问。在配置类中添加以下代码: ```java @Configuration public class CorsConfig { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedMethods("GET", "POST", "PUT", "DELETE") .allowCredentials(false).maxAge(3600); } }; } } ``` 8. Spring Boot 如何实现缓存? Spring Boot 可以通过添加缓存依赖实现缓存。在 pom.xml 中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> ``` 在配置类中添加以下代码: ```java @Configuration @EnableCaching public class CacheConfig { @Bean public CacheManager cacheManager() { return new ConcurrentMapCacheManager("cacheName"); } } ``` 在需要缓存的方法上添加 @Cacheable 注解即可实现缓存。 9. Spring Boot 如何实现安全认证? Spring Boot 可以通过添加 security 依赖实现安全认证。在 pom.xml 中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ``` 在配置类中添加以下代码: ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/user/**").hasAnyRole("ADMIN", "USER") .antMatchers("/").permitAll() .and() .formLogin() .and() .logout() .logoutUrl("/logout") .logoutSuccessUrl("/login") .invalidateHttpSession(true) .deleteCookies("JSESSIONID"); } @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("user").password("{noop}password").roles("USER") .and() .withUser("admin").password("{noop}password").roles("ADMIN"); } } ``` 在需要认证的方法上添加 @Secured 注解即可实现安全认证。 以上是常见的 Spring Boot 面试题及其答案,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值