如何获取SpringMvc对应的子容器

如何获取SpringMvc对应的子容器,第1张

怎么证明父容器不能使用子容器的bean 用Div+CSS进行网站布局时,做一些浮动层等特殊特殊效果时要考虑到定位问题。这就要用到Position属性等。 Position属性有四个值:static、fixed、absolute和relative, 后面两个在布局中的定位里是经常用到的

通过Bean工厂获得 BeanFactory bf = new XmlBeanFactory(ClassPassResource(//xxxml));

通过上下文 ApplicationContext ac=new ClassPathXmlApplicationContext("/xxxml");

写一个类,实现BeanFactoryAware接口,把该接口配置到spring中,然后把getbean方法写成静态的,就可以动态获取了。下面是示例:

Java代码

public class Springfactory implements BeanFactoryAware {

private static BeanFactory beanFactory;

// private static ApplicationContext context;

public void setBeanFactory(BeanFactory factory) throws BeansException {

thisbeanFactory = factory;

}

/

根据beanName名字取得bean

@param beanName

@return

/

public static <T> T getBean(String beanName) {

if (null != beanFactory) {

return (T) beanFactorygetBean(beanName);

}

return null;

}

}

使用的时候,通过SpringfactorygetBean("beanName"),就可以获取到bean了。注意:这个是静态方法,直接通过类名去调用。

手动向Spring容器中注入对象的方法有很多,本文将简单阐述其中的四种

我们可以实现一个BeanFactory的后置处理器,在其中就可以获得BeanFactory,这样就可以调用registerSingleton方法。

注:此处bean的名字可以自定义,如这里就定义为sherlock。

如果在容器中获取该类

控制台输出:

对象就已成功注入到Spring容器中了。

注:其实在context中也有registerBean方法,可以实现一样的效果。(ApplicationContext其实继承了BeanFactory,所以它也拥有Bean工厂的功能,除此之外ApplicationContext还继承了很多其他的类,拥有一些辅助功能。总的来说,ApplicationContext其实包括了BeanFactory)

在配置类中,使用@Bean注解,返回一个想要注入的对象。@Bean括号中是bean的名字,默认为类名的小写形式。

控制台输出:

既然提到了Factory‘Bean,就不得不提到BeanFactory。关于这两个的区别,可以看下我的另一篇文章。 >

以上就是关于如何获取SpringMvc对应的子容器全部的内容,包括:如何获取SpringMvc对应的子容器、如何从当前spring容器中获得bean、如何在spring容器中获取bean等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9413643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存