面试题

1) Spring 注入有哪几种方式?
2) 多数据源是如何实现的?
3) 如果一个系统需要优化,你会从哪几方面去着手优化?

4) AOP 的原理描述一下?

AOP 能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并利于未来的可拓展性和可维护性

Spring AOP 就是基于动态代理的。如果要代理的对象,实现了某个接口,那么Spring AOP 会使用JDK Proxy ,去创建代理对象,对于没有实现接口的对象,就无法用 JDK Proxy 去进行代理了,这时候Spring AOP 会使用 Cglib

生成一个被代理对象的子类来作为代理。也可以使用 AspectJ。

使用 AOp 之后我们可以把一些通用的功能抽象出来,在需要用到的地方直接使用即可,大大简化了代码量。。我们需要增加新功能时也方便,这样也提高了系统扩展性。

5) 几张大表在一起需要联合查询,如何进行查询优化?

 

posted @ 2020-01-03 17:33  panie2015  阅读(102)  评论(0编辑  收藏  举报