我在项目A 中有以下课程,这是一个春季项目
@Configuration
class MyConfig{
@Bean
JmsTemplate jmsTemplate(){
return new JmsTemplate();
}
@Bean
Test test(){
return new Test();
}
}
class Test{
@Autowired
JmsTemplate jmsTemplate;
@PostConstuct
public void init(){
System.out.println("Test Constructed")
}
public void sendOrder(){
System.out.println("Sending Order");
}
}
我在项目B
中@SpringBootApplication
class MySpringBootApp{
public static void main(String[] args){
final SpringApplication app = new SpringApplication(MainConfig.class);
app.run(args);
}
}
@Configuration
@Import(MyConfig.class)
class MainConfig implements CommandLineRunner{
@Autowired
Test test;
@Override
public void run(String... strings) throws Exception{
System.out.println("Placing order");
test.sendOrder()
}
}
我已经将项目A作为依赖项包含在项目B的pom中
既不打印来自post构造的SYS OUT,也不打印来自Test类的sendOrder。来自MainConfig的运行方法中的SYS OUT已打印。.我不确定项目B中是否包含项目A的MyConfig类,没有编译或运行时错误。任何潜在客户表示赞赏
答案 0 :(得分:0)
我认为问题出在主班。
您忘记了将Spring Boot应用程序本身(在这种情况下为MySpringBootApp.class
)添加到配置列表中。
应该是:
@SpringBootApplication
class MySpringBootApp{
public static void main(String[] args){
final SpringApplication app = new
SpringApplication(MySpringBootApp.class,MainConfig.class);
app.run(args);
}
}