昨天去了超捷面试,面试官问了一些问题,在此总结一下:
1.hibernate有哪些配置文件?
配置文件:hibernate.cfg.xml 配置数据库信息、配置关联的映射文件
创建持久化类的映射文件:**.hbm.xml
2.spring如何集成hibernate?
1)加入Hibernate
加入hibernate jar包
添加Hibernate的配置文件:hibernate.cfg.xml
编写持久化类对应的.hbm.xml文件
2)加入Spring
加入spring jar包
加入Spring配置文件
编写测试类
https://www.cnblogs.com/xujian2014/p/5282335.html
3.spring 有哪些核心类,都有什么作用?
核心类:
BeanFactory:创建beans的Factory,Spring通过BeanFactory加载各种Beans。产生一个新的实例,可以实现单例模式。BeanFactory是实例化、配置、管理众多Bean的容器。
BeanWrapper:提供统一的get及set方法。
ApplicationContext:提供框架的实现,包括BeanFactory的所有功能。代表配置文件。
核心:
AOP:面向切面编程
IOC:控制反转
DI:依赖注入
4.try中有return语句,finally语句是在return前执行还是return后?
在return前。会执行,在方法return动作之前,return语句执行之后,若finally中再有return语句,则此方法以finally的return作为最终返回,若finally中无return语句,则此方法以try的return作为最终返回。
P:方法的返回值以最后一个执行return语句的运算结果为准,返回值一旦确定,不随之后执行的代码影响。
5.String与StringBuffer的区别?
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
1)String是个不可变长度的字符串,而StringBuffer是个可变长度的字符串;
2)在对String类进行操作的时候(例如增加字符),实际上是在内存中产生了一个新的String对象; 而StringBuffer是给原对象增加字符,不是新创建一个对象;
1)首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String
String最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。
2)在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的。(String是不可变类,所以是线程安全的。所有不可变类都是线程安全的,线程安全的类不一定是不可变类,如StringBuffer是可变类,靠锁实现线程安全。)
3)String:适用于少量的字符串操作的情况。
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况。
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况。
6.jquery获取div的值?
7.mybatis中#{}和${}的区别?
1) #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id"。
2) $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id。
3)#方式能够很大程度防止sql注入。
4)$方式无法防止Sql注入。
5)$方式一般用于传入数据库对象,例如传入表名。
6)一般能用#的就别用$。
7)MyBatis排序时使用order by 动态参数时需要注意,用$而不是#。
https://blog.csdn.net/luman1991/article/details/52623184
8.tomcat、weblogic和jboss如何优化性能?
1)减少浏览器与服务器之间的交互次数,对于浏览器触发的操作,尽量一次性完成。
2)尽量减少请求响应数据量,去除无用数据。
3)对于极少变动的数据尽量使用缓存提升查询性能。
4)最小化日志,生产环境只使用info日志。
9.会话跟踪技术session和cookie的区别?
1)Session和Cookie都是会话跟踪技术;
2)Session是保存在服务器端的技术(保持用户登录状态的检查常用Session),而Cookie是保存在客户端的技术;
3)Cookie只能存字符串,Session可以存对象。
10.MVC框架有哪些?对MVC框架哪个更熟悉?
Struts1,struts2,spring mvc,grails,JSF都是比较常用的MVC框架,另外还有一个Tapestry。
11.spring和hibernate有哪些注解?分别有什么作用?
spring注解:
@Component是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。
@Controller对应表现层的Bean,也就是Action。使用@Controller注解标识UserAction之后,就表示要把UserAction交给Spring容器管理。
@Service对应的是业务层Bean。@Service("userService")注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做"userService"。
@Repository对应数据访问层Bean。@Repository(value="userDao")注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl实例。
https://www.cnblogs.com/xdp-gacl/p/3495887.html
hibernate注解:
@Entity —— 将一个类声明为一个实体bean(即一个持久化POJO类) 。
@Id —— 注解声明了该实体bean的标识属性(对应表中的主键)。
@Table —— 注解声明了该实体bean映射指定的表(table),目录(catalog)和schema的名字 。
@Column —— 注解声明了属性到列的映射。该注解有如下的属性。
@GeneratedValue —— 注解声明了主键的生成策略。
@GenericGenerator —— 注解声明了一个hibernate的主键生成策略。支持十三种策略。
https://www.cnblogs.com/blog-yuesheng521/p/6283051.html
12.@AutoWired
@Autowired是用在JavaBean中的注解,通过byType形式,用来给指定的字段或方法注入所需的外部资源。能减少或者消除属性或构造器参数的设置。Autowired 注解,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
13.@RequestBody
1)@RequestBody需要把所有请求参数作为json解析,因此,不能包含key=value这样的写法在请求url中,所有的请求参数都是一个json。
2)直接通过浏览器输入url时,@RequestBody获取不到json对象,需要用java编程或者基于ajax的方法请求,将Content-Type设置为application/json。
14.@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestMapping 除了修饰方法, 还可来修饰类 :
类定义处: 提供初步的请求映射信息。相对于 WEB 应用的根目录;
方法处: 提供进一步的细分映射信息。 相对于类定义处的 URL。
15.jquery有哪些常见选择器?id选择器和类选择器的区别?
一、基本选择器
基本选择器是jQuery中最常用也是最简单的选择器,它通过元素的id、class和标签名等来查找DOM元素。
1)ID选择器 #id
描述:根据给定的id匹配一个元素, 返回单个元素(注:在网页中,id名称不能重复)
示例:$("#test") 选取 id 为 test 的元素
2)类选择器 .class
描述:根据给定的类名匹配元素,返回元素集合
示例:$(".test") 选取所有class为test的元素
3)元素选择器 element
描述:根据给定的元素名匹配元素,返回元素集合
示例:$("p") 选取所有的
元素
4)*
描述:匹配所有元素,返回元素集合
示例:$("*") 选取所有的元素
5)selector1,selector2,...,selectorN
描述:将每个选择器匹配到的元素合并后一起返回,返回合并后的元素集合
示例:$("p,span,p.myClass") 选取所有
,和class为myClass的
标签的元素集合
二、层次选择器
三、过滤选择器
四、表单选择器(返回元素集合,使用相似)
执行效率:
由图可以id选择器相比于class选择器的效率优势是很大的。
由此可见children选择器要优于直接子标签符号选择器。
用法:
id : #test
class: .test
1)多个相同id,获取的是第一个id的值:
2)多个相同class,undefined
https://www.cnblogs.com/MirageFox/p/5940941.html
https://blog.csdn.net/qq_24909089/article/details/79860020
16.一段代码