Как передать имя коллекции MongoDb из файлов свойств в код Java? - PullRequest
0 голосов
/ 10 июня 2019

У меня есть Java-код, в котором я хочу передать имя коллекции mongodb из файла свойств, или я не хочу жестко кодировать его в Java.Это то, что я уже пробовал, но, кажется, он не работает.

У меня есть POJO как:

@Document(collection = "${@DatabaseRepositoryCustom.getCollectionName()}")
public class A{}

У меня один интерфейс as:

@Repository
public interface Repo extends MongoRepository<A, String> ,DatabaseRepositoryCustom {
}

У меня второй интерфейс as:

public interface DatabaseRepositoryCustom {
    String getCollectionName();
    void setCollectionName(String collectionName);
}

У меня класс реализации второго интерфейса как:

public class DatabaseRepositoryCustomImpl implements DatabaseRepositoryCustom  {

    private static String collectionName = "Emp";
    @Override
    public String getCollectionName() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void setCollectionName(String collectionName) {
        // TODO Auto-generated method stub
        this.collectionName = collectionName;

    }
}

У меня есть класс контроллера , который снова задает имя коллекции (просто для проверки):

public class Controller {
    @Autowired
    private Repo rp;

    @PostConstruct
    public void init() throws IOException {
        rp.setCollectionName("Emp1");

    }
}

Поэтому я подумал и спросил, могу ли яиспользовать этот подход для передачи имени коллекции Mongo с помощью файла свойств?Если да, то как мне этого добиться, потому что при таком подходе я не могу получить имя коллекции и получаю ошибку как:

, вызванную: org.springframework.data.mongodb.UncategorizedMongoDbException: запрос не выполнен с кодом ошибки 73 и сообщением об ошибке «Указано неверное имя коллекции» db_name. $ {@ DatabaseRepositoryCustom.getCollectionName ()} '

Если нет, то как бы передать его с помощью файлов свойств

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...