View Javadoc
1   /*
2    * Copyright 2018-2022 Medical Information Systems Research Group (https://medical.zcu.cz),
3    * Department of Computer Science and Engineering, University of West Bohemia.
4    * Address: Univerzitni 8, 306 14 Plzen, Czech Republic.
5    *
6    * Author Petr Vcelak (vcelak@kiv.zcu.cz).
7    *
8    * This file is part of MRECore project.
9    *
10   * MRECore is free software: you can redistribute it and/or modify
11   * it under the terms of the GNU General Public License as published by
12   * the Free Software Foundation, either version 3 of the License.
13   *
14   * MRECore is distributed in the hope that it will be useful,
15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17   * GNU General Public License for more details.
18   *
19   * You should have received a copy of the GNU General Public License
20   * along with MRECore. If not, see <http://www.gnu.org/licenses/>.
21   */
22  package cz.zcu.mre.controller;
23  
24  import org.slf4j.Logger;
25  import org.slf4j.LoggerFactory;
26  import org.springframework.beans.factory.annotation.Autowired;
27  import org.springframework.context.ApplicationContext;
28  import org.springframework.stereotype.Controller;
29  import org.springframework.ui.Model;
30  import org.springframework.web.bind.annotation.RequestMapping;
31  import org.springframework.web.bind.annotation.RequestParam;
32  
33  /**
34   * @author Petr Vcelak (vcelak@kiv.zcu.cz)
35   */
36  @Controller
37  public class PrintBeansController {
38  
39      private static final Logger LOG = LoggerFactory.getLogger(PrintBeansController.class);
40  
41      @Autowired
42      private ApplicationContext applicationContext;
43  
44      @RequestMapping("/beans")
45      public String listBeans(@RequestParam(value = "key", required = false, defaultValue = "World") String name, Model model) {
46  
47          String[] beanNames = applicationContext.getBeanDefinitionNames();
48  
49          for (String beanName : beanNames) {
50              LOG.info("{} : {}", beanName, applicationContext.getBean(beanName).getClass());
51          }
52  
53          model.addAttribute("name", name);
54  
55          return "helloworld";
56      }
57  }