springboot如何在static方法中,调用Bean对象

场景:比如说你用了springboot,也用了@Autowired 注解。但是你并不是做一个,而是做成一个jar包。

这时你就需要用到main方法去获取到Bean类。这是用@Autowired 注解是不行的。因为main方法是静态。

@Autowired 注解注入非静态变量中。

这是一串案例代码。

通过

SpringApplication.run(App.class, args) 获取到上下文对象ConfigurableApplicationContext
通过上下文对象去获取到对象的Bean。
 
这样就可以解决了,既用了springboot。又想着,只做成可执行jar包的作用了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@SpringBootApplication
@MapperScan("com.juice.it.dao")
public class App {
 
    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
        System.out.println("启动成功!!!");
        JTTimeService timeService = context.getBeanFactory().getBean(JTTimeService.class);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("type","做人");
        String result = timeService.getTimeList(jsonObject);
        System.out.println();
    }
}

  

posted @   信铁寒胜  阅读(773)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2022-11-30 cannot to found by com.teamcenter.rac.util_12000.4.0 (cannot to found by com.teamcenter.rac.util_13000.3.0)
2022-11-30 JTable我采取为TableHead和Table分开显示之后,重新赋值会导致值没有离职显示出来。
2021-11-30 JFileChooser记住上次选择的路径
2021-11-30 JScrollPane恢复正常滚动量
2021-11-30 awt/swing知识积累
2021-11-30 java jlabel 对齐_java-将JLabel中的文本右对齐
2020-11-30 List转为数组的标准做法
点击右上角即可分享
微信分享提示