代码
MailService
public interface MailService {
boolean sendMail(String msg);
}
MailServiceImpl
@Service
public class MailServiceImpl implements MailService {
@Override
public boolean sendMail(String msg) {
System.out.println("send->" + msg);
return true;
}
}
class TimeMailServiceImpl1 extends MailServiceImpl {
@Override
public boolean sendMail(String msg) {
long t1 = System.currentTimeMillis();
boolean flag = super.sendMail(msg);
long t2 = System.currentTimeMillis();
System.out.println("send time:" + (t2 - t1));
return flag;
}
}
class TimeMailServiceImpl2 implements MailService {
private MailService mailService;
public TimeMailServiceImpl2(MailService mailService) {
this.mailService = mailService;
}
@Override
public boolean sendMail(String msg) {
long t1 = System.currentTimeMillis();
boolean flag = mailService.sendMail(msg);
long t2 = System.currentTimeMillis();
System.out.println("send time:" + (t2 - t1));
return flag;
}
}
MailServiceTests
@SpringBootTest
public class MailServiceTests {
@Autowired
private MailService mailService;
@Test
void test2() {
mailService.sendMail("aaa");
}
@Test
void test1() {
new TimeMailServiceImpl1().sendMail("123");
new TimeMailServiceImpl2(new MailServiceImpl()).sendMail("123");
}
}