Карта (значение, установленное с помощью Spring Beans) пуста, когда я пытаюсь получить доступ с помощью Rest URL - PullRequest
0 голосов
/ 05 июня 2018

Я новичок в Spring Beans.Я пытаюсь установить запись map, используя beans.xml файл и получая доступ к этому значению, используя запрос GET REST.

beans.xml

<bean name ="book" id="book" class=" org.test.model.Book" scope = "singleton">
    <property name="id" value="123" />
    <property name="bookName" value="FirstBeanBook"></property>
</bean>
<bean name="bookservice2" id = "bookservice" class="org.test.service.BookService" scope="singleton">
    <property name="bookMap">
        <map><entry key="123" value-ref="book" /></map>
    </property>
</bean>`

В главном классе,

BookService bookService = (BookService) context.getBean("bookservice2");
bookService.getMap().toString(); // here it is working fine.`

Я предполагаю, что когда я пытаюсь получить доступ к этой карте с помощью запроса GET, создается еще один экземпляр класса BookService с пустым bookMap.

Пожалуйста, предоставьте какое-нибудь решение, чтобы получить тот же результат, когда яиспользуйте GET-запрос REST.

Редактировать: Обрабатывать запрос получения как

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/getBook/{id}")
public Book getBook(@PathParam("id") String id) {
    return bookService.getBook(id);
}

BookService.Java

`public class BookService {
static Map<Integer, Book> bookMap = new HashMap<Integer, Book>();
//This class has Getter setter of bookmap too.
public BookService() {}

public Book getBook(String id) {
    return bookMap.get(Integer.parseInt(id));
}`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...