JAVA面试进阶【1】

1、什么是SpringMVC

首先:MVC

M:Model  模拟层,业务逻辑判断,数据存储

V:VIEW   视图层,呈现数据的方式(html,图片,文本)

C:Controller 控制器 负责接收用户请求,并对不同的请求其作出对应的响应(根据请求调用响应模型唉处理业务逻辑)

注:SpringMVC 是基于MVC模式的Web框架,它是Spring框架下面的子项目

2、什么是SSM框架?

SSM:Spring+SpringMVC+MyBatis

使用Spring实现业务对象管理,使用SpringMVC负责请求的转发和视图管理,MyBatis作为数据的持久化引擎

SSM框架一般分为四层:

持久层dao层(mapper)

主要做数据持久化的操作,负责与数据库进行联络的一些任务都封装在这里

业务层(Service)

Service主要做业务的逻辑判断处理

表现层(Controller层或Handle层)

负责具体业务模块的流程控制

View层

主要和控制层(Controller)紧密结合,主要负责前台jsp页面的表示

3、Spring Boot如何定义多套不同环境配置?

基于properties或者yml配置文件

第一步

创建个环境对应的properties配置文件

Application.properties/yml

(初始项目配置文件,整个项目开发过程中保持不变的参数可以放在里面)

Application-dev.properties/yml

(开发环境)

Application-test.properties/yml

(测试环境)

Application-prod.properties/yml

(生产环境)

第二步

然后再application.properties/yml文件中制定当前的环境:

Spring.profiles.active=test(测试环境),这时候读取的就是基于application-test.properties文件,此属性可以读多个文件,以逗号隔开,

注:如果同时激活多个配置文件,出现相同的属性不同的配置,以后面配置文件的为准

4、在项目中为什么使用分页查询? 【以PageHelper作为讲解】

首先,在分页查询中我用到的是PageHelper框架,PageHelper帮我们做了分页查询,处理了很多细节问题,还封装了其他数据

(比如:每页显示多少条,总页数,总条数,最大页码等

封装之前做了两次查询(一次是总数据查询,一次是当前页码数据[limit]查询

别人做两次查询之间可能会增删数据,就会产生安全问题,PageHelper也帮我们解决了这个问题。

PageHelper既帮我们解决了数据问题,也解决了安全问题,所以我们使用PageHelper框架

5、Redis的五大类型

五大类型:String(字符串)、Hash(散列)、List(列表【数据有序,可以重复】)、Set(集合【数据无序,不可重复】)、SortedSet【zSet】(有序集合【可排序】)

6、什么是SpringBoot 

Spring Boot是由pivotal团队提供的基于Spring的全新框架,指在简化Spring应用的初始搭建和开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不在需要定义样板化的配置,约定大于配置(重点)

7、SpringBoot的Run方法做了什么事?

IOC(控制反转)初始化的一个操作

8、@ComponentScan注解是干什么的? 

这里指具体要扫描哪个类,如果要扫描多个包,可以用逗号来区分

如果没有指定具体的扫描路径,实际上默认扫描路径就是当前JAVA类所在路劲及其子路径,都是被扫描的范围

9、@EnableAutoConfiguration注解是干什么的? 

开启自动装配的一个核心注解

10、SpringBoot的优点 

1.独立运行

Spring Boot而且内嵌了各种servlet容器,Tomcat、jetty等,现在不再需要打成war包部署的容器中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在jar包内

2.简化配置

Spring-boot-starter-web启动器自动依赖其他组件,减少了maven的配置

3.自动配置

如添加一个spring-boot-starter-web启动器就拥有了web的功能,无需其他配置

4.无代码生成和XML配置

Spring Boot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切是借助于条件注解完成的,这也是Spring4.x的核心功能之一

5.应用监控

Spring Boot提供一系列端点可以监控服务及应用,做健康检测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值