Я использую бины Rest Spring, используя конфигурацию xml.Я пытаюсь получить доступ к переменным, которые инициализируются bean-компонентами, используя URL-адреса REST.Но я не могу получить значения.полученные значения равны нулю.В любом случае можно ли инициализировать значения и сохранять их нетронутыми и получать к ним доступ, когда я звоню по URL-адресам.
Пожалуйста, предложите какой-нибудь способ.
TIA
Редактировать: Модель:
@Repository
public class Topic{
private Integer id;
private String name;
//Getter and setter with constructor
}
Класс контроллера:
@RestController
@Singleton
public class TopicController{
@Autowired
private TopicService topicService;
public void setTopicService(TopicService topicService) {
this.topicService = topicService;
}
@RequestMapping("/topics")
public List<Topic> getAllTopics() {
System.out.println("in get all topics");
return topicService.getAllTopics();
}
}
ServiceClass:
@Service
public class TopicService {
@Autowired
private List<Topic> allTopics ;
public TopicService() {
}
public List<Topic> getAllTopics() {
return allTopics;
}
public void setAllTopics(List<Topic> allTopics) {
this.allTopics = allTopics;
}
}
Bean.xml
<bean name="topicService" id="topicService"
class="org.springtest.service.TopicService">
<property name="allTopics">
<list>
<bean class="org.springtest.model.Topic">
<property name="id" value="20" />
<property name="name" value="topic20" />
</bean>
<bean class="org.springtest.model.Topic">
<property name="id" value="30" />
<property name="name" value="Topic30" />
</bean>
</list>
</property>
</bean>
<bean id="topicController"
class="org.springtest.controller.TopicController"
scope="singleton">
<property name="topicService" ref="topicService"></property>
</bean>
Выход /localhost:8080/topics
: {"id":null,"name":null}
Основной класс:
public static void main(String[] args) {
SpringApplication.run(CourseApiApp.class, args);
ApplicationContext context = new
ClassPathXmlApplicationContext("main/resources/Bean.xml");
TopicController tc= new TopicController();
System.out.println(tc.getAllTopics().size());// throwing nullpointerexception as topicService is null
}