考虑一下我的问题的课程,
启动应用程序java类:
package com.abb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = {"com.abb.repositories"})
public class ServerApplication {
public static void main(String[] args) {
SpringApplication.run(ServerApplication.class, args);
}
}
CrudRepository接口(它只是在这里添加,因为我觉得包可能会导致这个问题):
package com.abb.repositories;
import org.springframework.data.repository.CrudRepository;
import com.abb.entities.XYZ;
public interface XYZRepository extends CrudRepository<XYZ, Long> { }
Controller Java Class For rest API:
package com.abb.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.abb.repositories.XYZRepository;
@RestController
@RequestMapping("/abc")
public class ABCController {
@Autowired
private XYZRepository xyzRepository;
@RequestMapping(value = "/test", method = RequestMethod.POST)
public @ResponseBody String test(@RequestBody int iValue) {
return "done" + iValue;
}
}
服务器日志:
2017-10-25 22:22:25.579 INFO 4664 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2017-10-25 22:22:26.291 INFO 4664 --- [ restartedMain] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4521e6e2: startup date [Wed Oct 25 22:22:17 IST 2017]; root of context hierarchy
2017-10-25 22:22:26.470 INFO 4664 --- [ restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-10-25 22:22:26.485 INFO 4664 --- [ restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-10-25 22:22:26.548 INFO 4664 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-10-25 22:22:26.548 INFO 4664 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-10-25 22:22:26.657 INFO 4664 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-10-25 22:22:27.250 INFO 4664 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2017-10-25 22:22:27.344 INFO 4664 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-10-25 22:22:27.470 INFO 4664 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-10-25 22:22:27.486 INFO 4664 --- [ restartedMain] com.yq.WhyqueueServerApplication : Started WhyqueueServerApplication in 10.814 seconds (JVM running for 11.612)
答案 0 :(得分:2)
问题在于您将弹簧靴扫描程序限制为仅扫描存储库程序包。不会扫描其他包裹。这意味着它不会选择“com.abb.controllers”包中的控制器。
删除scanBasePackages属性,替换值或添加要扫描的每个包。
我推荐这个:
@SpringBootApplication
或者这个:
@SpringBootApplication(scanBasePackages = {"com.abb"})