我最近的任务是开始构建一个新的 Spring 3 MVC 项目(在这方面我是个菜鸟)。在开普勒建立了大部分 POC 项目后,我有:
- 可在(外部)Tomcat7 中部署和工作的原型 webapp(HelloWorld 风格)。
- 配置 Logback 并向控制台报告:
... 12:46:21.916 [http-apr-8080-exec-5] 跟踪 oswsvInternalResourceViewResolver - 缓存视图 [主页] 12:46:21.916 [http-apr-8080-exec-5] 调试 osweb.servlet.DispatcherServlet - 渲染视图 [org.springframework.web.servlet.view.JstlView: name 'home'; 名称为“sample”的 DispatcherServlet 中的 URL [/WEB-INF/view/home.jsp]] 12:46:21.916 [http-apr-8080-exec-5] TRACE osweb.servlet.view.JstlView - 使用模型 {name=lingxotika.org} 和静态属性 {} 呈现名称为“home”的视图 12:46:21.916 [http-apr-8080-exec-5] 调试 osweb.servlet.view.JstlView - 添加了 [java.lang.String] 类型的模型对象“名称”以在视图中请求名称为“home” 12:46:21.921 [http-apr-8080-exec-5] 调试 osweb.servlet.view.JstlView - 转发到 InternalResourceView 'home' 中的资源 [/WEB-INF/view/home.jsp] 12:46:21.957 [http-apr-8080-exec-5] TRACE osweb.servlet.DispatcherServlet - 清除线程绑定请求上下文:org.apache.catalina.connector.RequestFacade@1bb3db1b 12:46:21.960 [http-apr-8080-exec-5] 调试 osweb.servlet.DispatcherServlet - 成功完成请求 12:46:21.960 [http-apr-8080-exec-5] TRACE oswcsAnnotationConfigWebApplicationContext - 在命名空间“sample-servlet”的 WebApplicationContext 中发布事件:ServletRequestHandledEvent: url=[/codetutr/home/]; 客户端=[127.0.0.1];方法=[GET]; servlet=[示例];会话=[0108E781644C1268FD92C11BD78888FB];用户=[空]; 时间=[87ms];状态=[确定]
- 但是当我进入我的代码以使用
Logger
类方法时(我已经尝试了这两种方法 )org.slf4j.Logger
,ch.qos.logback.classic
Eclipse 无法识别 Logger 实例中的方法:
package org.lingxotika.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SampleController {
static final Logger log = LoggerFactory.getLogger(SampleController.class);
log.info("Hit Controller..."); // Error is here
@RequestMapping("home")
public String loadHomePage(Model model) {
model.addAttribute("name", "lingxotika.org");
return "home";
}
}
输入后的 Eclipse Code Assistlog.
显示以下选项(抱歉,还不能发布屏幕截图):
new - create new object
nls - non-externalized string marker
runnable - runnable
toarray - convert collection to array
总而言之,我在这里和这里看到的例子表明这不是 Spring 的限制或我承认缺乏对它的能力,而是我忽略的 Eclipse 问题。我避免发布可能不相关的信息,但很乐意提供任何进一步的代码、日志或配置示例。任何帮助,将不胜感激。