spring boot2.0自定义注入mongoTemplate使用审计标签@EnableMongoAuditing报错

项目原来在spring boot1.5.9版本时候使用@EnableMongoAuditing用同样的方法注入并没有报错,当切换到2.0版本是莫名其妙的出问题了,搞的我一脸懵逼,花了好久都没解决,后来偶然看到我们公司一个大佬的自定义注入的的方式,瞬间感觉到了王者和青铜的差距。
下面是配置代码

@Configuration
@EnableMongoAuditing
@EnableMongoRepositories(basePackages={"com.test"})
@PropertySource("classpath:mongodb/mongodbConfigure.properties")
@ConfigurationProperties(prefix = "spring.data.mongodb.data")
public class SpringMongoConfig extends AbstractMongoConfiguration {

	
	private String dbName;
	private String host;
	private Integer port;
			
	@Override
	protected String getDatabaseName() {
		return dbName;
	}

	@Primary
	@Override
	@Bean
    public MongoClient mongoClient() {
        MongoClientOptions opt = MongoClientOptions.builder()
                .writeConcern( WriteConcern.JOURNALED)
                .build();
        
        MongoClient my = new MongoClient(new ServerAddress( host, port ), opt);
        return my;
    }

	@Primary
    @Bean
    public MongoDbFactory mongoDbFactory() {
        return new SimpleMongoDbFactory(mongoClient(), getDatabaseName());
    }
	@Primary
	@Bean
	public MongoTemplate mongoTemplate() throws Exception {
	    MongoTemplate my = new MongoTemplate(mongoDbFactory());
	    my.setWriteResultChecking( WriteResultChecking.EXCEPTION )return my;
	}
}

不知道为什么继承AbstractMongoConfiguration这个类之后,再注入就没问题了。 有哪位大佬知道请告诉在下可好。

你可能感兴趣的:(spring,boot)