描述 Mybatis 运行过程。
代码语言:javascript复制首先在sqlMapConfig中配置好需要的数据源,缓存的配置,以及引入sql表与对象关系映射的文件,然后创建SqlSessionFactory生成数据库的连接,通过SqlSessionFactory获取SqlSession对象,获取传输器,执行Maaper表中的sql语句获取结果。
简述Spring MVC 运行原理。
代码语言:javascript复制1.前端控制器拦截用户的请求
2.前端控制器通过处理器映射器获取处理该请求的真实路径
3.前端控制器将处理器的真实路径发送给处理器适配器
4.处理器适配器将请求交给处理器
5.处理器将请求对应的ModelAndView
6.处理器适配器将ModelAndView转发给前端控制器
7.处理器适配器通过视图解析器获取真正的视图
8.前端控制器将Model填充到视图中
9.响应给客户端
请解释你所理解的 Spring 的 AOP 框架是如何搭建并实现的?(通知、连接点、切入点、切面、目标对象)
代码语言:javascript复制在软件分层中的其中两层通过Cglib的动态代理技术对被调用层也就是目标对象中的方法(切入点)进行拦截并进行增强,将增强之后的方法(通知)返回给调用层就完成了一次织入,被调用层中的所有方法都可以称之为连接点,不过真正被代理类拦截的方法才能称之为切入点,这个代理类就被我们称之为切面。
markdown
请简述注解实现IOC(DI)的运行过程
代码语言:javascript复制1.在类加载的路径下的applicationContext.xml文件中配置包扫描,也就是注解的作用范围。
2.在配置文件中配置注解开关
3.通过@Controller @Service @Repository @Component来注册javabean
4.spring中可以通过@Value@Autowired注解来实现spring内置支持的类型的属性的注入。
markdown
请描述SpringMVC的注解方式工作原理
代码语言:javascript复制SpringMVC底层将所有被加载的类都统一保存起来,然后通过getAnnotation(Class<A> annotationClass) 以反射的手段查看被加载的类有无指定注解。如果有指定注解则进行相关的操作,
markdown
手写的这些问题的答案对于思想太限制了,毕竟想得太多不想写出来。