场景:比如说你用了springboot,也用了@Autowired 注解。但是你并不是做一个,而是做成一个jar包。
这时你就需要用到main方法去获取到Bean类。这是用@Autowired 注解是不行的。因为main方法是静态。
@Autowired 注解注入非静态变量中。
这是一串案例代码。
通过
SpringApplication.run(App.class, args) 获取到上下文对象ConfigurableApplicationContext
通过上下文对象去获取到对象的Bean。
这样就可以解决了,既用了springboot。又想着,只做成可执行jar包的作用了。
@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(); } }