1.为什么要用spring
-
目的:解决企业应用开发的复杂性
-
功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
-
范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
2.spring 常用的注入方式有哪些?什么是依赖注入?
依赖注入是在编译阶段尚未知所需的功能是来自哪个类的情况下,将其他对象所依赖的功能实例化的模式 。
Spring通过DI(依赖注入)实现IOC(控制反转),常用的依赖注入方式主要有三种:
-
构造方法注入
-
setter注入
-
基于注解的注入
3.Spring IoC 和 AOP 的理解
IoC
IoC(Inverse of Control:控制反转)是一种设计思想,就是 将原本在程序中手动创建对象的控制权,交由Spring框架来管理。 IoC 在其他语言中也有应用,并非 Spirng 特有。 IoC 容器是 Spring 用来实现 IoC 的载体, IoC 容器实际上就是个Map(key,value),Map 中存放的是各种对象。
AOP
AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。
4.预置注解举例
@Deprecated
这个注解是用来标记过时的元素,编译器在编译阶段遇到这个注解时会发出提醒警告,告诉开发者正在调用一个过时的元素比如过时的方法、过时的类、过时的成员变量。
比如:
private static final class Test {
@Deprecated
void sayHello() {
System.out.println("say hello");
}
}
public static void main(String[] args) {
Test test = new Test();
test.sayHello();
}
这时sayHello()方法上面被一条直线划了一条,这其实就是编译器识别后的提醒效果:
@Override
这个注解再熟悉不过了,提示该方法是接口方法的实现或者是子类重写的父类的方法。
@SuppressWarnings
阻止警告的意思,上面说过调用被@Deprecated注解的方法后,编译器会警告提醒,而有时候开发者会忽略这种警告,他们可以在调用的地方通过@SuppressWarnings达到目的。
5、Spring Bean的生命周期
在一个bean实例被初始化时侯,需要进行一系列的初始化操作达到可用的状态。当一个bean不再被调用时需要进行相关的析构操作,并从bean容器中移除。
6.Spring MVC的优点
7.SpringMVC流程
8.SpringMVC和struts2的区别
9、如何从拦截的方法里获得从前台回传的参数
在形参声明参数就行,但必须名字和传过来的参数一样
10.SpringMVC用什么对象从后台到前台传数据的
通过ModelMap对象,可以在这个对象里使用 put方法,把对象加到里面,前台就可以同各国el表达式拿到
11.什么是Mybatis
Mybatis是一个可以自定义SQL、存储过程和高级映射的持久层框架,封装了JDBC,通过JAVA对象和statement中sql的动态参数进行映射生成最终的执行sql语句。
12.Mybatis缓存
分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在他的 命名空间里 ,默认打不开