选择
    1、依赖注入的概念
    依赖注入(Dependency Injection,DI)是IoC的另外一种说法,只是从不同的角度,描述相同的概念。依赖注入指对象被动地接受依赖类而不用自己主动去找,对象不是从容器中查找它依赖的类,而是在容器实例化对象时主动将它依赖的类注入给它。
    从Spring容器角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,相当于为调用者注入它所依赖的实例,这就是Spring的依赖注入。

    2、AOP的实现
    AOP 即面向切面编程,简单地说就是将代码中重复的部分抽取出来,在需要执行的时候使用动态代理技术,在不修改源码的基础上对方法进行增强。
    Spring-aop模块:提供了一个符合AOP要求的面向切面的编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以便干净地解耦。
    Spring AOP 由BeanPostProcessor 后置处理器开始,可以监听容器触发的Bean 生命周期事件,向容器注册后置处理器以后,容器中管理的Bean 就具备了接收IoC 容器回调事件的能力。BeanPostProcessor 的调用发生在Spring IoC 容器完成Bean 实例对象的创建和属性的依赖注入后,为Bean 对象添加后置处理器的入口是initializeBean方法。

    3、Spring中的ApplicationContext容器都包含什么
    ApplicationContext 继承自 BeanFactory ,其不仅包含 BeanFactory 所有功能,还扩展了容器功能。
    ApplicationContext:在使用Spring的时候,我们经常需要先得到一个ApplicationContext对象,然后从该对象中获取我们配置的Bean对象。ApplicationContext隶属于org.springframework.context,是SpringFramework中Bean的管理者,为SpringFramework的诸多功能提供支撑作用。
    ApplicationContext接口继承了很多接口,这些接口我们可以将其分为五类:
    MessageSource,主要用于国际化
    ApplicationEventPublisher,提供了事件发布功能
    EnvironmentCapable,可以获取容器当前运行的环境
    ResourceLoader,主要用于加载资源文件
    BeanFactory,负责配置、创建、管理Bean,IOC功能的实现主要就依赖于该接口子类实现。
    4、Spring中事务中的内容,对事物的传播行为和隔离级别的取值,默认的是什么 (传播行为REQUIRED;隔离级别DEFAULT)

    5、Spring框架代表的含义(没听清)
    Spring是一个轻量级Java 开发框架,最早由Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。

    6、7、代码题: Spring 找出所有在Spring容器中定义的bean对象
    方法一:在初始化时保存ApplicationContext对象
    1. ApplicationContext ac =new FileSystemXmlApplicationContext(“applicationContext.xml”);
    2. ac.getBean(“userService”);//比如:

    方法二:通过Spring提供的工具类获取ApplicationContext对象
    1. ApplicationContext ac1 =WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);
    2. ApplicationContext ac2 =WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);
    3. ac1.getBean(“beanId”);
    4. ac2.getBean(“beanId”);

    8、SpringMVC四个基础的调用对象,
    1.SimpleServletHandlerAdapter
    2.SimpleControllerHandlerAdapter
    3.HttpRequestHandlerAdapter
    4.RequestMappingHandlerAdapter
    SpringMVC通过HandlerMapping将请求URL映射到handler,再将handler交给HandlerAdapter进行调用处理。
    SimpleServletHandlerAdapter可以处理类型为Servlet的handler,对handler的处理是调用Servlet的service方法处理请求。
    SimpleControllerHandlerAdapter可以处理类型为Controller的handler,对handler的处理是调用Controller的handleRequest()方法。
    HttpRequestHandlerAdapter可以处理类型为HttpRequestHandler的handler,对handler的处理是调用HttpRequestHandler的handleRequest()方法。
    RequestMappingHandlerAdapter可以处理类型为HandlerMethod的handler,对handler的处理是调用通过java反射调用HandlerMethod的方法。

    9、10、Spring和MyBatis整合,Mybatis把什么交给了spring管理 ——mapper
    MaBatis注解怎么样交给spring(开关在哪)

    MyBatis整合spring如果使用resultmap要在哪里定义?­
    ❓xxxMapper.xml配置文件中
    填空
    1、Spring中通知的注解,四大类七种
    @Before:前置通知,在方法执行之前执行
    @After:后置通知,在方法执行之后执行(无论是否发生异常)还不能访问目标方法执行的结果
    @AfterRunning:返回通知,在方法正常结束后 返回结果之后执行 可以访问方法的返回值
    @AfterThrowing:异常通知,在方法抛出异常之后
    @Around:环绕通知,围绕着方法执行

    2、AOP中的四个概念 切面 切点 通知 织入 具体概念的理解(通知)
    Aspect:切面,一个关注点的模块化,这个关注点可能会横切多个对象。切面由切点和增强(引介)组成。
    Advice:通知,指切面对于某个连接点所产生的动作,包括前置通知、后置通知、返回后通知、异常通知和环绕通知。
    Pointcut:切入点,指被拦截的连接点,切入点一定是连接点,但连接点不一定是切入点。
    Weaving:织入,指把增强应用到目标对象来创建代理对象的过程。

    3、Spring中的单例——开关项 叫什么 怎么取值
    singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。通过scope取值<-❓Spring bean 默认是单例模式。
    prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。

    4、spring中的注解装配 byname bytype 用注解怎么进行装配
    bytype -> @Autowired
    byname -> @Resource

    5、AOP的织入概念,搁在注解中的概念AOP 领域中的特性术语:
    execution(public (. .)) 任意公共方法被执行时,执行切入点函数。
    execution( set (. .)) 任何以一个“set”开始的方法被执行时,执行切入点函数。
    execution( com.demo.service.AccountService. (. .)) 当接口AccountService 中的任意方法被执行时,执行切入点函数。
    execution( * com.demo.service.. (. .)) 当service 包中的任意方法被执行时,执行切入点函数。 within(com.demo.service.) 在service 包里的任意连接点。 within(com.demo.service. .) 在service 包或子包的任意连接点。
    this(com.demo.service.AccountService) 实现了AccountService 接口的代理对象的任意连接点。
    target(com.demo.service.AccountService) 实现了AccountService 接口的目标对象的任意连接点。
    args(java.io.Serializable) 任何一个只接受一个参数,且在运行时传入参数实现了 Serializable 接口的连接点