在实际项目中,我们需要获取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()是以小写字母开头的,需要谨慎。