远离办公室的多人运动,看懂这篇Spring的IoC、AOP让你远离996

2021-10-18 15:01:01 浏览数 (1)

Spring AOP通过CGlib、JDK动态代理实现运行期的动态方法增强,以抽取出业务无关代码,使其不与业务代码耦合,从而降低系统耦合性,提高代码可重用性和开发效率。 所以AOP广泛应用在日志记录、监控管理、性能统计、异常处理、权限管理、统一认证等方面。

单例Bean如何注入Prototype的Bean?

要为单例Bean注入Prototype Bean,不只是修改Scope属性。由于单例Bean在容器启动时就会完成一次性初始化。所以最简单的,把Prototype Bean设置为通过代理注入,即把proxyMode属性设为TARGET_CLASS

比如抽象类LearnService,可认为是有状态的,如果LearnService是单例的话,那必然会OOM

实际开发时,很多人不假思索把LearnGo和LearnJava类加上 @Service,让它们成为Bean,也没有考虑到父类其实有状态:

代码语言:javascript复制
@Service
@Slf4

0 人点赞