public abstract class AbstractServlet extends HttpServlet { protected AutowireCapableBeanFactory ctx; @Override public void init() throws ServletException { super.init(); ctx = ((ApplicationContext) getServletContext().getAttribute( "applicationContext")).getAutowireCapableBeanFactory(); //The following line does the magic ctx.autowireBean(this); }
private @Autowired AutowireCapableBeanFactory beanFactory; public void doStuff() { MyBean obj = new MyBean(); beanFactory.autowireBean(obj); // obj will now have its dependencies autowired. }
@SuppressWarnings("unchecked") public <T> T postProcess(T object) { if (object == null) { return null; } T result = null; try { result = (T) this.autowireBeanFactory.initializeBean(object, object.toString()); } catch (RuntimeException e) { Class<?> type = object.getClass(); throw new RuntimeException( "Could not postProcess " + object + " of type " + type, e); } this.autowireBeanFactory.autowireBean(object); if (result instanceof DisposableBean) { this.disposableBeans.add((DisposableBean) result); } if (result instanceof SmartInitializingSingleton) { this.smartSingletons.add((SmartInitializingSingleton) result); } return result; }
B bean = new B(); AutowireCapableBeanFactory factory = applicationContext.getAutowireCapableBeanFactory(); factory.autowireBean( bean ); factory.initializeBean( bean, "bean" );
private @Autowired AutowireCapableBeanFactory beanFactory; @Bean public FilterRegistrationBean myFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); Filter myFilter = new MyFilter(); beanFactory.autowireBean(myFilter); registration.setFilter(myFilter); registration.addUrlPatterns("/myfitlerpath/*"); return registration; }
private void loadContext(Class<?> clazz) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(clazz); context.getAutowireCapableBeanFactory().autowireBean(this); }
@Before public void setup() { if (applicationContext == null) { applicationContext = new ClassPathXmlApplicationContext(getConfigLocations()); } applicationContext.getAutowireCapableBeanFactory().autowireBean(this); if (this.transactionManager != null && this.transactionDefinition != null) { startNewTransaction(); } }
@SuppressWarnings("unchecked") @Override public void init(HttpSecurity http) throws Exception { // autowire this bean ApplicationContext context = http.getSharedObject(ApplicationContext.class); context.getAutowireCapableBeanFactory().autowireBean(this); http .authorizeRequests() .antMatchers(permitAllPattern).permitAll() .anyRequest().authenticated(); if (http.getConfigurer(FormLoginConfigurer.class) == null) { // only apply if formLogin() was not invoked by the user http .formLogin() .loginPage(loginPage); } }
@Test public void testInjectionIntoExistingObjects() { EntityManager mockEm = mock(EntityManager.class); given(mockEmf.createEntityManager()).willReturn(mockEm); GenericApplicationContext gac = new GenericApplicationContext(); gac.getDefaultListableBeanFactory().registerSingleton("entityManagerFactory", mockEmf); gac.registerBeanDefinition("annotationProcessor", new RootBeanDefinition(PersistenceAnnotationBeanPostProcessor.class)); gac.refresh(); DefaultPrivatePersistenceContextField existingBean1 = new DefaultPrivatePersistenceContextField(); gac.getAutowireCapableBeanFactory().autowireBean(existingBean1); assertNotNull(existingBean1.em); DefaultPublicPersistenceContextSetter existingBean2 = new DefaultPublicPersistenceContextSetter(); gac.getAutowireCapableBeanFactory().autowireBean(existingBean2); assertNotNull(existingBean2.em); }
public void loadConfig(Class<?>... configs) { context = new AnnotationConfigWebApplicationContext(); context.register(configs); context.refresh(); context.getAutowireCapableBeanFactory().autowireBean(this); }
public void loadConfig(Class<?>... configs) { context = new AnnotationConfigWebApplicationContext(); context.register(configs); context.refresh(); context.getAutowireCapableBeanFactory().autowireBean(this); }
private void loadConfig(Class<?>... configs) { AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext(); applicationContext.register(configs); applicationContext.refresh(); applicationContext.getAutowireCapableBeanFactory().autowireBean(this); this.context = applicationContext; }
public void loadConfig(Class<?>... configs) { this.context = new AnnotationConfigWebApplicationContext(); this.context.register(configs); this.context.setServletContext(this.servletContext); this.context.refresh(); this.context.getAutowireCapableBeanFactory().autowireBean(this); } }
public void loadConfig(Class<?>... configs) { this.context = new AnnotationConfigWebApplicationContext(); this.context.register(configs); this.context.setServletContext(new MockServletContext()); this.context.refresh(); this.context.getAutowireCapableBeanFactory().autowireBean(this); } }
private void loadConfig(String... configLocations) { for (int i=0; i<configLocations.length; i++) { configLocations[i] = getClass().getName().replaceAll("\\.", "/") + "-" + configLocations[i]; } XmlWebApplicationContext context = new XmlWebApplicationContext(); context.setConfigLocations(configLocations); context.setServletContext(new MockServletContext()); context.refresh(); this.context = context; context.getAutowireCapableBeanFactory().autowireBean(this); Filter springSecurityFilterChain = context.getBean("springSecurityFilterChain", Filter.class); mockMvc = MockMvcBuilders .standaloneSetup(new FooController()) .addFilters(springSecurityFilterChain) .build(); }
public void loadConfig(Class<?>... configs) { this.context = new AnnotationConfigWebApplicationContext(); this.context.register(configs); this.context.setServletContext(new MockServletContext()); this.context.refresh(); this.context.getAutowireCapableBeanFactory().autowireBean(this); }
public void loadConfig(Class<?>... configs) { this.context = new AnnotationConfigWebApplicationContext(); this.context.register(configs); this.context.setServletContext(new MockServletContext()); this.context.refresh(); this.context.getAutowireCapableBeanFactory().autowireBean(this); } }
public static <T> T inject(Object instance) { // autowire dynamically loaded object AutowireCapableBeanFactory beanFactory = getApplicationContext(instance).getAutowireCapableBeanFactory(); beanFactory.autowireBean(instance); return (T)instance; }
@Override protected void doStart() throws Exception { super.doStart(); EndpointDiscoveryVerticle discoveryVerticle = new EndpointDiscoveryVerticle(); applicationContext.getAutowireCapableBeanFactory().autowireBean(discoveryVerticle); vertx.deployVerticle(discoveryVerticle, event -> { if (event.failed()) { LOGGER.error("Endpoints Discovery service can not be started", event.cause()); } deploymentId = event.result(); }); }
@Override public void contextInitialized(ServletContextEvent event) { WebApplicationContextUtils.getRequiredWebApplicationContext(event.getServletContext()).getAutowireCapableBeanFactory().autowireBean(this); metricsServletContextListener.contextInitialized(event); healthCheckServletContextListener.contextInitialized(event); }