本文共 3808 字,大约阅读时间需要 12 分钟。
、
1.先用注解@component将ApplicationContextUtils放到ioc容器中
2.在使用的类中进行引用。
package com.ljf.spring.boot.demo.util;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;/** * @ClassName: ApplicationContextUtils * @Description: TODO * @Author: liujianfu * @Date: 2020/11/03 21:14:43 * @Version: V1.0 **/@Component //此注解记住一定要加,实例化这个bean放到spring的容器中public class ApplicationContextUtils implements ApplicationContextAware { private static ApplicationContext context; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { System.out.println("..............application context 在初始化:.............."); this.context = applicationContext; System.out.println("context:"+context); } //根据bean名字获取工厂中指定bean 对象 public static Object getBean(String beanName){ System.out.println("context:"+context); return context.getBean(beanName); }}
package com.ljf.spring.boot.demo.service.impl;import com.ljf.spring.boot.demo.service.UserService;import org.springframework.stereotype.Service;import java.util.ArrayList;import java.util.List;/** * @ClassName: UserServiceImpl * @Description: TODO * @Author: liujianfu * @Date: 2021/05/31 11:13:53 * @Version: V1.0 **/@Service("userService")public class UserServiceImpl implements UserService { @Override public ListqueryUserList() { List dataList=new ArrayList<>(); dataList.add("liu"); dataList.add("nou"); return dataList; }}
package com.ljf.spring.boot.demo.controller;import com.ljf.spring.boot.demo.service.UserService;import com.ljf.spring.boot.demo.util.ApplicationContextUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.stereotype.Component;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;/** * @ClassName: UserController * @Description: TODO * @Author: liujianfu * @Date: 2021/05/31 11:30:35 * @Version: V1.0 **/@Controllerpublic class UserController{ @Autowired private ApplicationContextUtils applicationContext; @RequestMapping("/test") @ResponseBody public Object show(){ UserService userService = (UserService) ApplicationContextUtils.getBean("userService"); Listlist= userService.queryUserList(); System.out.println("list:"+list.toString()); return "ok:"+list.toString(); }}
package com.ljf.spring.boot.demo;import com.ljf.spring.boot.demo.service.UserService;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ConfigurableApplicationContext;import sun.plugin2.message.CustomSecurityManagerRequestMessage;import java.util.List;/** * Hello world! * */@SpringBootApplicationpublic class App { public static void main( String[] args ) { SpringApplication.run(App.class); /** SpringApplication application = new SpringApplication(App.class); ConfigurableApplicationContext context = application.run(args); UserService userPoJpaRepository = context.getBean(UserService.class); Listlist= userPoJpaRepository.queryUserList(); System.out.println("list:"+list.toString()); **/ System.out.println("启动完成!!!"); }}
转载地址:http://fatgi.baihongyu.com/