假设我有一个名为 的类MyServlet
,其目的是响应用户请求:
@Component
public class MyServlet
{
public void accept(String clientName, int clientID)
{
System.out.println("Processing client:" + clientName + " with ID: " + clientID);
}
}
一般来说,在我们尝试调试我们的应用程序之前,服务用户的请求可能是我们想要记录的内容。因此,如果我能在accept()
被调用之前让这种行为透明地发生,我会非常喜欢它。对于这个人,一个Helper
类可以提供一个日志功能,我们将用以下方式装饰它@Before
:
@Aspect
@Component
@EnableAspectJAutoProxy
public class Helper
{
@Before("execution(public void show())")
public void log()
{
System.out.println("Logging data...");
}
}
但是,能够获取提供给accept()
(在本例中为 aString
和 an int
)的信息并将其传递给 对我来说真的很有用log()
,因为它允许我将用户及其 ID 准确地记录到任何日志存储中我用。我怎样才能做到这一点?