Вот объект домена, который я использую, без геттеров и сеттеров:
Код: Выделить всё
public class User extends RepresentationModel {
private final String email;
private final String password;
private final String firstName;
private final String lastName;
@JsonCreator
public User(@JsonProperty("email") String email, @JsonProperty("password") String password, @JsonProperty("firstName") String firstName, @JsonProperty("lastName") String lastName) {
this.email = email;
this.password = password;
this.firstName = firstName;
this.lastName = lastName;
}
}
Код: Выделить всё
@Configuration
public class MongoGeneral extends AbstractMongoClientConfiguration {
@Value("${spring.data.mongodb.username}")
private String username;
@Value("${spring.data.mongodb.password}")
private String password;
@Override
@NonNull
protected String getDatabaseName() {
return "flawless-beans";
}
@Override
@NonNull
public MongoClient mongoClient() {
ConnectionString connectionString = new ConnectionString("mongodb+srv://" + username + ":" + password + "@cluster0.2ahn6zq.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0");
System.out.println(username+", "+password);
MongoClientSettings mongoClientSettings = MongoClientSettings.builder()
.applyConnectionString(connectionString)
.build();
return MongoClients.create(mongoClientSettings);
}
@Bean(name = "mongoTemplate")
MongoTemplate mongoTemplate() {
return new MongoTemplate(new SimpleMongoClientDatabaseFactory(mongoClient(), getDatabaseName()));
}
}
Код: Выделить всё
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(MongoGeneral.class);
MongoTemplate mongoTemplate = context.getBean("mongoTemplate", MongoTemplate.class);
mongoTemplate.findAll(User.class);
SpringApplication.run(FlawlessBeansJavaSpringApiApplication.class, args);
}
Код: Выделить всё
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make protected java.nio.charset.Charset(java.lang.String,java.lang.String[]) accessible: module java.base does not "opens java.nio.charset" to unnamed module @55141def
at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:391)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:367)
Код: Выделить всё
at org.springframework.data.mongodb.core.MongoTemplate.getCollectionName(MongoTemplate.java:505)
at org.springframework.data.mongodb.core.MongoTemplate.findAll(MongoTemplate.java:1852)
at com.mistermorse.flawlessbeansjavaspringapi.FlawlessBeansJavaSpringApiApplication.main(FlawlessBeansJavaSpringApiApplication.java:17)
Я могу запустить приложение без ошибок консоли, даже если я намеренно взломать пароль конфигурации, поэтому я ожидаю ошибок подключения, но это кажется локальным (и эти ошибки, если учитывать результаты Google, происходят во многих местах).
Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-new-sp