介绍
这期内容当中小编将会给大家带来有关春天中bean的怎么利用意识到接口获取,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
在使用<强> 强>春季编程时,常常会遇到想根据bean的名称来获取相应的bean对象,这时候,就可以通过实现BeanFactoryAware来满足需求,代码很简单:
@Servicepublic类BeanFactoryHelper实现BeanFactoryAware { 私有静态BeanFactory BeanFactory; @Override 公共空间setBeanFactory (BeanFactory BeanFactory)抛出BeansException { 这一点。beanFactory=beanFactory; } 公共静态对象getBean(字符串beanName) { 如果(beanFactory==null) { 把新NullPointerException (“BeanFactory零!“); } 返回beanFactory.getBean (beanName);}}
还有一种方式是实现<强> ApplicationContextAware 强>接口,代码也很简单:
@ service 公共类ApplicationContextHelper实现ApplicationContextAware { 私有静态ApplicationContext ApplicationContext; @Override 公共空间setApplicationContext (ApplicationContext ApplicationContext)抛出BeansException { 这一点。applicationContext=applicationContext; } 公共静态对象getBean(字符串beanName) { 如果(applicationContext==null) { 把新NullPointerException (“ApplicationContext零!“); } 返回applicationContext.getBean (beanName); } }
上面两种方法,只有容器启动的时候,才会把<强> BeanFactory 强>和<强> ApplicationContex 强> t注入到自定义的helper类中,如果在本地junit测试的时候,如果需要根据bean的名称获取bean对象,则可以通过ClassPathXmlApplicationContext来获取一个ApplicationContext,代码如下:
@Test 公共空白测试()抛出SQLException {//通过从类路径中加载spring-mybatis.xml实现bean的获取 ApplicationContext上下文=new ClassPathXmlApplicationContext (“spring-mybatis.xml"); IUserService userService=(IUserService) context.getBean (“userService"); 用户用户=新用户(); user.setName (“test"); user.setAge (20); userService.addUser(用户); }
上述就是小编为大家分享的春天中bean的怎么利用意识到接口获取了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。