Как properties.xml сопоставляется с интерфейсом Java с тем же именем? - PullRequest
0 голосов
/ 18 марта 2019

Я новичок в Spring Framework и относительно новичок в Java. Пока я копаю проекты Spring MVC и Spring Boot, я сталкиваюсь с тем, чего не понимаю:

Итак, в проекте, в пакете src / main / resources / myProject.config , есть файл UserInfo.properties.xml , который выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <entry key="name"></entry>
    <entry key="gender"></entry>
</properties>

А в пакете src / main / java / myProject.config имеется интерфейс Java с таким же именем UserInfo.java , который выглядит ниже:

public interface UserInfo {
    String getName();
    String getGender();
}

И в каком-то другом Java-классе программа может напрямую использовать:

public class A {
    UserInfo userInfo;
    public A(UserInfo userInfo) {
        this.userInfo = userInfo;
    }
    public void someMethod() {
        userInfo.getName();
        userInfo.getGender();
    }
}

Итак, мои вопросы:

  • Отображается ли файл UserInfo.properties.xml на UserInfo.java ? Если да, что именно происходит за сценой?
  • Почему интерфейс может использоваться напрямую без реализации?

Я искал в Интернете, но не смог найти ответ. Я думаю, что, возможно, я не ищу правильное ключевое слово. Буду очень признателен, если кто-нибудь подскажет мне об этом. Спасибо!

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