尚硅谷 Java面试题 第一季 - 20181221

SSM 一、SpringBean的作用域之间有什么区别?

其实就是scope属性里设置singleton | prototype 两个属性,默认是singleton单例的
prototype是多实例。
其他的request:每次HTTP请求会创建新的bean,该作用域仅适用于WebApplicationContext环境。
session:同一个HTTP session共享bean,该作用域仅适用于WebApplicationContext环境。

二、Spring支持的常用数据库事务传播属性和事务隔离级别? 三、SpringMVC解决中如何解决POST请求中文乱码问题

springmvc提供了过滤器CharacterEncodingFilter:这个类有两个变量String类型的encoding、boolean类型forceEncoding默认false,核心方法doFilterInternal,方法中有request.setCharacterEncoding设置请求字符集,设force那个为true的话,可以设置response.setCharacterEncoding。
那么在web.xml里需要配置这一属性:

<!--post方式字符集--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!--初始化参数--> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <!--响应乱码,可设可不设--> <init-param> <param-name>force-encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

get方式,修改Tomcat的server.xml中的配置。

四、简单的谈一下SpringMVC的工作流程

springmvc在处理模型数据有两种方式:方式一.返回值是ModelAndView、方式二.在参数中传入Map,Model或者ModelMap;最后都会转换为一个 ModelAndView对象(所以是以request作用域来响应用户)
流程如下图:

在这里插入图片描述

总结
请求过来后,先到DispatcherServlet中央处理器,之后它会调用处理器映射器找到HandlerMapping处理器映射器里的方法,返回HandlerExecultionChain对象,这个对象包含了所有的拦截器和处理器。
之后拿到HandlerAdapter处理器适配器,由它找到对应的处理器去调用请求,相当于调用controller之后,会返回ModelAndView对象,这个对象返回到中央处理器。
中央处理器通过我们在springmvc配置文件中配的InternalResourceViewResolver视图解析器,得到视图InternalResourceView。
得到视图之后,调用里边的方法进行渲染视图,将我们的模型数据,在页面给用户呈现出来,响应给用户。

五、MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办?(三种解决方案)

写sql语句时起别名

在MyBatis的全局配置文件中开启驼峰命名规则(前提只是将数据库中下划线映射)

在Mapper映射文件中使用ResultMap自定义映射

Java高级 一、Linux常用服务类相关命令

CentOS 6

常用基本命令-进程类

注册在系统中的标准化程序

service 服务名 start

service 服务名 stop

service 服务名 restart

service 服务名 reload

service 服务名 status

通过chkconfig 命令设置自启动程序

chkcongfig --list #可以查看所有对应服务自启动状态开关

chkcongfig --level 3 服务名 off #on自启动、off不自启动

运行级别runlevel(centos6),常用级别3和5
0 停机、1 单用户root状态、2 多用户状态、3 有网多用户状态、4. 保留、5 图形模式、6、重启

CentOS 7

注册在系统中的标准化程序

systemctl start 服务名

systemctl restart 服务名

systemctl stop 服务名 #示例:停防火墙 systemctl stop firewalld

systemctl reload 服务名

systemctl status 服务名

查看服务的命令

systemctl list-unit-files #示例:systemctl list-unit-files |grep firewalld

systemctl --type service

设置自启动/不自启动

systemctl enable 服务名

systemctl disable 服务名

二、git分支相关命令

Git:分布式版本控制工具

创建分支

切换分支

一步完成:git checkout -b <分支名> #直接就完成了创建,并切换过去了

合并分支

先切换到主干 git checkout master
git merge <分支名>

删除分支

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdjjf.html