title: Rest controller not mapping in spring boot
body: <p>My application runs but nothing about mapping is shown in console. My Application class file is above controller and also added @ComponentScan(basePackages : "com.org.name.controller") to scan for controllers. Still no mapping shows up in console. I have commented out @Autowired in controller class as i was getting error of :</p>
  
  <pre><code>Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
  2019-07-12 11:05:16.014 ERROR 14104 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 
  
  ***************************
  APPLICATION FAILED TO START
  ***************************
  
  Description:
  
  Field userService in com.homzhub.lms.controller.UserController required a bean of type 'com.homzhub.lms.service.UserService' that could not be found.
  
  The injection point has the following annotations:
      - @org.springframework.beans.factory.annotation.Autowired(required=true)
  
  
  Action:
  
  Consider defining a bean of type 'com.homzhub.lms.service.UserService' in your configuration.
  </code></pre>
  
  <p>Main class:</p>
  
  <pre><code>package com.homzhub.lms;
  import org.springframework.boot.SpringApplication;
  import org.springframework.boot.autoconfigure.SpringBootApplication;
  import org.springframework.context.annotation.ComponentScan;
  
  @SpringBootApplication
  @ComponentScan(basePackages = {"com.homzhub.lms.controller"})
  //@EnableJpaRepositories("repository")
  //@EnableAutoConfiguration
  public class LmsApplication{
      public static void main(String[] args){
          SpringApplication.run(LmsApplication.class, args);
      }
  }
  </code></pre>
  
  <p>appointment controller : </p>
  
  <pre><code>package com.homzhub.lms.controller;
  
  import java.security.Principal;
  import java.text.ParseException;
  import java.text.SimpleDateFormat;
  import java.util.Date;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Controller;
  import org.springframework.ui.Model;
  import org.springframework.web.bind.annotation.ModelAttribute;
  import org.springframework.web.bind.annotation.RequestMapping;
  import org.springframework.web.bind.annotation.RequestMethod;
  import com.homzhub.lms.entity.Appointment;
  import com.homzhub.lms.entity.User;
  import com.homzhub.lms.service.AppointmentService;
  import com.homzhub.lms.service.UserService;
  
  
  
  @Controller
  @RequestMapping(path = "/appointment")
  public class AppointmentController {
  
     // @Autowired
      private AppointmentService appointmentService;
  
      //@Autowired
      private UserService userService;
  
      @RequestMapping(value = "/create", method = RequestMethod.GET)
      public void createAppointment(Model model) {
          Appointment appointment = new Appointment();
          model.addAttribute("appointment", appointment);
          model.addAttribute("dateString", "");
      }
  
      @RequestMapping(value = "/create", method = RequestMethod.POST)
      public String createAppointmentPost(@ModelAttribute("appointment") Appointment appointment, @ModelAttribute("dateString") String date, Model model, Principal principal) throws ParseException {
  
          SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm");
          Date d1 = format1.parse(date);
          appointment.setDate(d1);
  
          User user = userService.findByUsername(principal.getName());
          appointment.setUser(user);
  
          appointmentService.createAppointment(appointment);
  
          return "redirect:/userFront";
      }
  }
  </code></pre>
  
  <p>pom.xml file :</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;parent&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
  &lt;!--        &lt;version&gt;1.5.21.RELEASE&lt;/version&gt;  --&gt;
          &lt;version&gt;2.1.6.RELEASE&lt;/version&gt;
          &lt;relativePath /&gt; &lt;!-- lookup parent from repository --&gt;
      &lt;/parent&gt;
      &lt;groupId&gt;com.homzhub&lt;/groupId&gt;
      &lt;artifactId&gt;lms&lt;/artifactId&gt;
      &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
      &lt;name&gt;lms&lt;/name&gt;
      &lt;description&gt;Lead Management System&lt;/description&gt;
  
      &lt;properties&gt;
          &lt;java.version&gt;1.8&lt;/java.version&gt;
      &lt;/properties&gt;
  
      &lt;dependencies&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-jdbc&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-data-jpa&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;mysql&lt;/groupId&gt;
              &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-security&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.xml.bind&lt;/groupId&gt;
              &lt;artifactId&gt;jaxb-api&lt;/artifactId&gt;
              &lt;/dependency&gt;
      &lt;/dependencies&gt;
  
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
                  &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
              &lt;/plugin&gt;   
          &lt;/plugins&gt;
      &lt;/build&gt;
  
  &lt;/project&gt;
  </code></pre>
  
  <p>Console output. After commenting out @Autowired in controller classes the application runs  but no mapping is done :</p>
  
  <pre><code>2019-07-12 12:58:04.638  INFO 18828 --- [           main] com.homzhub.lms.LmsApplication           : Starting LmsApplication v0.0.1-SNAPSHOT on rms-Lenovo-ideapad-330-15IKB with PID 18828 (/home/rms/lms/target/lms-0.0.1-SNAPSHOT.jar started by rms in /home/rms/lms)
  2019-07-12 12:58:04.644  INFO 18828 --- [           main] com.homzhub.lms.LmsApplication           : No active profile set, falling back to default profiles: default
  2019-07-12 12:58:05.941  INFO 18828 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
  2019-07-12 12:58:06.161  INFO 18828 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 204ms. Found 13 repository interfaces.
  2019-07-12 12:58:06.849  INFO 18828 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$d931452d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
  2019-07-12 12:58:07.301  INFO 18828 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
  2019-07-12 12:58:07.350  INFO 18828 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
  2019-07-12 12:58:07.350  INFO 18828 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.21]
  2019-07-12 12:58:07.484  INFO 18828 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
  2019-07-12 12:58:07.484  INFO 18828 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2751 ms
  2019-07-12 12:58:07.952  INFO 18828 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
  2019-07-12 12:58:08.286  INFO 18828 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
  2019-07-12 12:58:08.388  INFO 18828 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
      name: default
      ...]
  2019-07-12 12:58:08.519  INFO 18828 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate Core {5.3.10.Final}
  2019-07-12 12:58:08.521  INFO 18828 --- [           main] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
  2019-07-12 12:58:08.773  INFO 18828 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
  2019-07-12 12:58:09.175  INFO 18828 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
  2019-07-12 12:58:10.967  INFO 18828 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
  2019-07-12 12:58:12.284  INFO 18828 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
  2019-07-12 12:58:12.364  WARN 18828 --- [           main] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
  2019-07-12 12:58:12.923  INFO 18828 --- [           main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page template: index
  2019-07-12 12:58:13.211  INFO 18828 --- [           main] .s.s.UserDetailsServiceAutoConfiguration : 
  
  Using generated security password: f1e93a8f-d01a-4050-8724-87ff348fab02
  
  2019-07-12 12:58:13.388  INFO 18828 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1dcca8d3, org.springframework.security.web.context.SecurityContextPersistenceFilter@6daf2337, org.springframework.security.web.header.HeaderWriterFilter@70e3f36f, org.springframework.security.web.csrf.CsrfFilter@3c7cfcbb, org.springframework.security.web.authentication.logout.LogoutFilter@7d755813, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@4e25147a, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@60e5272, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@5631962, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@56303475, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@250b236d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@432034a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@52a70627, org.springframework.security.web.session.SessionManagementFilter@23e44287, org.springframework.security.web.access.ExceptionTranslationFilter@1bfe3203, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@71870da7]
  2019-07-12 12:58:13.517  INFO 18828 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
  2019-07-12 12:58:13.520  INFO 18828 --- [           main] com.homzhub.lms.LmsApplication           : Started LmsApplication in 9.518 seconds (JVM running for 10.158)
  </code></pre>
  
  <p>UserService class :</p>
  
  <pre><code>package com.homzhub.lms.service;
  
  import java.util.List;
  import java.util.Set;
  import org.springframework.stereotype.Service;
  import com.homzhub.lms.entity.User;
  import com.homzhub.lms.security.UserRole;
  //@Service("userDetailsService")
  @Service
  public interface UserService{
      User findByUsername(String username);
      User findByEmail(String email);
   //   User findByPhoneNumber(String phoneNumber);
      boolean checkUserExists(String username, String email);
      boolean checkUsernameExists(String username);
      boolean checkEmailExists(String email);
      void save(User user);
      User createUser(User user, Set&lt;UserRole&gt; userRoles);
      User saveUser(User user);
      List&lt;User&gt; findUserList();
      void enableUser(String username);
      void disableUser(String username);
  }
  </code></pre>