Я новичок в 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));
}`