如何在spring boot的多个类中使用@Autowired MongoTemplate
Posted
技术标签:
【中文标题】如何在spring boot的多个类中使用@Autowired MongoTemplate【英文标题】:How to use @Autowired MongoTemplate in multiple classes in spring boot 【发布时间】:2018-11-11 23:43:41 【问题描述】:嗨,我对 Spring Boot 比较陌生,我正在尝试使用 mongotemplate 使用 autowired 这是我的课程
@SpringBootApplication
public class Test implements CommandLineRunner
public static void main(String[] args)
SpringApplication.run(ProducerConsumerApplication.class, args).close();
@Autowired
private MongoTemplate mongoTemplate;
@Override
public void run(String... strings) throws Exception
new Myclass().insert();
这就是我的 application.yml 的样子。
spring:
kafka:
bootstrap-servers: 192.168.155.100:9092
consumer:
group-id: foo
data:
mongodb:
host: 192.168.155.100
port: 27017
database: test
我正在尝试在 Myclass 中使用 mongo 模板,我从 Test 类中调用它,但 mongotemplate 为空。我应该怎么做?任何帮助表示赞赏
【问题讨论】:
你也使用了@Configuration注解吗? 我应该在我的主课还是我正在调用的课上使用它 【参考方案1】:-
使 MyClass 成为 Bean(使用
@Component
注释类或从 @Bean
方法返回它)
在 Test
类中自动装配 MyClass
bean
在该字段的run
方法调用insert()
。
【讨论】:
以上是关于如何在spring boot的多个类中使用@Autowired MongoTemplate的主要内容,如果未能解决你的问题,请参考以下文章
在对应的Configuration类中配置多个yml文件(Spring Boot)
我如何在@Embeddable 类中使用@Embedded 将json 发布到spring boot 控制器