在调试模式下阅读弹簧启动应用程序的日志后,我偶然发现了这个问题.
在启动时,Spring RequestMappingHandlerMapping是"在应用程序上下文中查找请求映射",并找到在我的控制器上定义的resquest映射.后来BeanNameUrlHandlerMapping是"在应用程序上下文中查找URL映射",并且无法为我的上下文中定义的每个bean找到一个(没有标识URL路径)
我的问题是,请求映射和网址映射之间有什么区别,有人可以链接文档来阅读BeanNameUrlHandlerMapping正在寻找的内容吗?
我有一个带有以下启动代码的 Spring 启动应用程序。Actuator 端点被映射,bean 被移除。我看到执行器端点已注册,然后 bean 被移除。通过SO 线程,这些消息是无害的。但是当我尝试到达任何执行器终点时,我收到错误消息。我不确定我应该进一步研究什么才能使执行器工作。我附上了我提到的所有日志片段。
我用 maven 设置了项目:
Maven Spring Actuator 部分
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Java启动代码
@EnableAutoConfiguration(exclude = { MetricFilterAutoConfiguration.class, MetricRepositoryAutoConfiguration.class, MessageSourceAutoConfiguration.class })
@EnableConfigurationProperties({ MyAppProperties.class })
@SpringBootApplication
public class MyApp{
private static final Logger LOG = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) throws UnknownHostException {
SpringApplication app = new SpringApplication(MyApp.class);
Environment env = app.run(args).getEnvironment();
LOG.info("\n----------------------------------------------------------\n\t" +
"Application '{}' is running! Access URLs:\n\t" +
"Local: \t\thttp://localhost:{}\n\t" +
"External: \thttp://{}:{}\n----------------------------------------------------------",
env.getProperty("spring.application.name"),
env.getProperty("server.port"),
InetAddress.getLocalHost().getHostAddress(),
env.getProperty("server.port"));
}
} …Run Code Online (Sandbox Code Playgroud)