рефакторинг спринг-конфигураций

This commit is contained in:
2022-05-09 18:38:04 +03:00
parent 1b48647c39
commit 8e05d49198
3 changed files with 62 additions and 40 deletions

View File

@@ -0,0 +1,26 @@
package ru.di9.mirror.web.config;
import io.minio.MinioClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ru.di9.mirror.core.service.MinioService;
@Configuration
public class MinioConfig {
@Bean
public MinioService minioService(MinioClient minioClient, @Value("${minio.bucket}") String bucket) {
return new MinioService(minioClient, bucket);
}
@Bean
public MinioClient minioClient(@Value("${minio.url}") String url,
@Value("${minio.accessKey}") String accessKey,
@Value("${minio.secretKey}") String secretKey) {
return MinioClient.builder()
.endpoint(url)
.credentials(accessKey, secretKey)
.build();
}
}

View File

@@ -0,0 +1,36 @@
package ru.di9.mirror.web.config;
import com.mongodb.MongoClientSettings;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.List;
@Configuration
public class MongoConfig {
@Bean
public MongoClient mongoClient(@Value("${mongodb.host}") String host, @Value("${mongodb.port}") int port) {
return MongoClients.create(MongoClientSettings.builder()
.applyToClusterSettings(builder -> builder.hosts(List.of(new ServerAddress(host, port))))
.build());
}
@Bean
public MongoDatabase mongoDatabase(MongoClient mongoClient,
@Value("${mongodb.database}") String database) {
return mongoClient.getDatabase(database);
}
@Bean
public MongoCollection<Document> artifactCollection(MongoDatabase database) {
return database.getCollection("artifacts");
}
}

View File

@@ -1,15 +1,8 @@
package ru.di9.mirror.web.config;
import com.mongodb.MongoClientSettings;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import io.minio.MinioClient;
import okhttp3.OkHttpClient;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ru.di9.mirror.core.handler.IndexOfHandler;
@@ -35,21 +28,6 @@ public class WebConfig {
return new IndexOfHandler(minioService);
}
@Bean
public MinioService minioService(MinioClient minioClient, @Value("${minio.bucket}") String bucket) {
return new MinioService(minioClient, bucket);
}
@Bean
public MinioClient minioClient(@Value("${minio.url}") String url,
@Value("${minio.accessKey}") String accessKey,
@Value("${minio.secretKey}") String secretKey) {
return MinioClient.builder()
.endpoint(url)
.credentials(accessKey, secretKey)
.build();
}
@Bean
public List<ExternalMavenService> externalMavenServices(OkHttpClient okHttpClient,
MavenMirrorsProperties mavenMirrorsProperties) {
@@ -63,24 +41,6 @@ public class WebConfig {
return new OkHttpClient();
}
@Bean
public MongoClient mongoClient(@Value("${mongodb.host}") String host, @Value("${mongodb.port}") int port) {
return MongoClients.create(MongoClientSettings.builder()
.applyToClusterSettings(builder -> builder.hosts(List.of(new ServerAddress(host, port))))
.build());
}
@Bean
public MongoDatabase mongoDatabase(MongoClient mongoClient,
@Value("${mongodb.database}") String database) {
return mongoClient.getDatabase(database);
}
@Bean
public MongoCollection<Document> artifactCollection(MongoDatabase database) {
return database.getCollection("artifacts");
}
@Bean
public ArtifactRepository artifactRepository(MongoCollection<Document> artifactCollection) {
return new ArtifactRepository(artifactCollection);