普通java类获取spring管理的bean的几种方法
程序员文章站
2022-05-23 10:05:36
...
在实际项目中,我们需要获取spring管理的bean,此时就需要获取ServletContext或WebApplicationConnect或者ApplicationContext,下面就介绍它们获取方法:
1.获取WebApplicationConnect:
@Autowired
WebApplicationContext webApplicationConnect;
2.获取ServletContext有两种:
2.1在controller中,可以通过HttpServletRequest获取:
ServletContext sc = request.getServletContext();`
2.2在普通java类中,例如service中,通过注解的方式:
@Autowired
private ServletContext servletContext;
3.获取ApplicationContext 方法:
public class ProjectBeanUtils implements ApplicationContextAware {
private ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext=applicationContext;
}
此时就可以通过1和3中的getBean()方法获取spring 管理的bean啦,必须要注意的是在Spring Boot中,注册的bean()是以小写字母开头的,需要谨慎。
推荐阅读
-
普通类注入不进spring bean的解决方法
-
SpringBoot实现其他普通类调用Spring管理的Service,dao等bean
-
Spring 注解中,普通类获取@Service标记的方法 或者bean对象的两种方法
-
获取接口所有实现类的两种方法 spring和java spi
-
Java获取接口所有实现类的两种方法 spring和java spi
-
普通类获取Spring容器中的Bean
-
Spring:普通的Java类获取由Spring所管理的Bean
-
JAVA普通类获取spring的bean对象
-
普通java类获取 spring中的bean方法
-
Spring如何管理Java普通类(Java类获取Spring容器的bean)