/** * Register bean to ioc container * * @param cls bean class, the class must provide a no args constructor * @return blade */ public Blade register(@NonNull Class<?> cls) { this.ioc.addBean(cls); return this; }
/** * Register bean to ioc container * * @param bean bean object * @return blade */ public Blade register(@NonNull Object bean) { this.ioc.addBean(bean); return this; }
/** * Register bean to ioc container * * @param cls bean class, the class must provide a no args constructor * @return blade */ public Blade register(@NonNull Class<?> cls) { this.ioc.addBean(cls); return this; }
/** * Register bean to ioc container * * @param bean bean object * @return blade */ public Blade register(@NonNull Object bean) { this.ioc.addBean(bean); return this; }
@Test public void testFieldInjector(){ Ioc ioc = new SimpleIoc(); ioc.addBean("jack"); ioc.addBean(new BladeBeanDefineType()); Field field = BladeBeanDefineType.class.getDeclaredFields()[0]; FieldInjector fieldInjector = new FieldInjector(ioc, field); fieldInjector.injection(ioc.getBean(BladeBeanDefineType.class)); }
/** * Register bean to ioc container * * @param bean bean object * @return blade */ public Blade register(@NonNull Object bean) { this.ioc.addBean(bean); return this; }
/** * Register bean to ioc container * * @param cls bean class, the class must provide a no args constructor * @return blade */ public Blade register(@NonNull Class<?> cls) { this.ioc.addBean(cls); return this; }
@Override public Object load(String controllerName) throws RouteException { String className = basePackage + controllerName; try { // Load controller instance Class<?> controllerClass = classLoader.loadClass(className); Object controller = ioc.getBean(controllerClass); if (null == controller) { ioc.addBean(controllerClass); controller = ioc.getBean(controllerClass); } return controller; } catch (Exception e) { throw new RouteException(e); } }
Component component = clazz.getAnnotation(Component.class); if (null != service || null != component) { ioc.addBean(clazz); } else if (null != controller || null != restController) { ioc.addBean(clazz); routeBuilder.addRouter(clazz); } else if (clazz.getSuperclass().getName().equals("com.blade.aop.AbstractMethodInterceptor")) { for (Class<?> in : interfaces) { if (in.equals(Interceptor.class)) { ioc.addBean(clazz); routeBuilder.addInterceptor(clazz); } else if (in.equals(WebContextListener.class)) { Object bean = ioc.addBean(c.getClazz()); ctxs.add((WebContextListener) bean); }); Object bean = ioc.addBean(c.getClazz()); processors.add((BeanProcessor) bean); });