【6】Spring可以借鉴的地方

7. Spring可以借鉴的地方

  1. 使用模板模式,留下很多可以供子类扩展的地方,如各种postProcess();

  2. 将null取名,使程序更可读;

protected static final Object[] DO_NOT_PROXY = null;

protected Object[] getAdvicesAndAdvisorsForBean(
      Class beanClass, String beanName, @Nullable TargetSource targetSource) {

   List advisors = findEligibleAdvisors(beanClass, beanName);
   if (advisors.isEmpty()) {
      return DO_NOT_PROXY;
   }
   return advisors.toArray();
}
  1. 巧妙利用反射和动态代理,维护bean的生命周期并实现aop等低耦合的模式;
  2. getBean(), doGetBean(), createBean(), doCreateBean()。在getBean()中完成一下初始化配置,还有后续处理,而在doGetBean()中真正利用反射获得Bean

你可能感兴趣的:(【6】Spring可以借鉴的地方)