sách gpt4 ai đã đi

java - Spring AOP aop :after running early

In lại 作者:行者123 更新时间:2023-12-02 02:56:45 28 4
mua khóa gpt4 Nike

我最近一直在一个非常简单的应用程序上尝试 Spring 的 AOP 功能,并且我坚持在适当的时间运行该方法,这意味着该部分中定义的方法应该在

中定义的方法之后运行

在我的代码中,这两个方法都在主方法中定义并在主方法之前运行。当然,在后者中这是正常的,但在后者中则不然。

预期输出应该是:

HERE IS THE AOP BEFORE

From App ran 5k

HERE IS THE AOP After

我当前的输出是:

HERE IS THE AOP BEFORE

HERE IS THE AOP After

From App ran 5k

知道为什么吗?

Pom.xml:


xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
springDemo
FirstSpringDemo
1.0-SNAPSHOT
jar
FirstSpringDemo
http://maven.apache.org

UTF-8


src


trình biên dịch maven
3.1

1.8
1.8






org.springframework
spring-context
4.3.1.RELEASE


org.springframework
spring-aop
4.3.1.RELEASE


org.springframework
spring-webmvc
4.3.1.RELEASE


org.springframework
spring-web
4.3.1.RELEASE


javax.servlet
jstl
1.2


junit
junit
3.8.1
test


junit
junit
4.12


cglib
cglib
2.2


org.aspectj
aspectjweaver
1.6.11



我的主类,称为 App:

package main.java.springDemo;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
public static void main(String[] args) {

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

Coach trackCoach = context.getBean("myTrackCoach", Coach.class);

System.out.println(" From App " + trackCoach.getDailyWorkout());


}
}

TrackerCoach.java

package main.java.springDemo;

public class TrackCoach implements Coach {
@Ghi đè
public String getDailyWorkout() {
return "Go and run 5k";
}
}

SayAOP.java

package main.java.springDemo;


public class SayAOP {

public void shoutAOPBefore() {

System.out.println("HERE IS THE AOP BEFORE");
}

public void shoutAOPAfter(){

System.out.println("HERE IS THE AOP After");
}

}

教练.java

package main.java.springDemo;

public interface Coach {
String getDailyWorkout();

}

applicationContext.xml



xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

















class="main.java.springDemo.TrackCoach">




class="main.java.springDemo.SayAOP">



1 Câu trả lời

Đó là bởi vìtrackCoach.getDailyWorkout()作为 System.out.println 参数调用,因此首先调用 before,然后调用 trackCoach.getDailyWorkout(),然后调用 after,最后调用 System.out。尝试例如:

public class TrackCoach implements Coach {
@Ghi đè
public String getDailyWorkout() {
System.out.println("Go and run 5k");
return "Go and run 5k";
}
}

你会看到会发生什么。

关于java - Spring AOP aop :after running early,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42963308/

28 4 0
Bài viết được đề xuất: java - JavaFX TreeView 的嵌套路径
Bài viết được đề xuất: java - JInternalFrame 自定义屏幕键盘
Bài viết được đề xuất: java - 编写一个函数来计算每个数字随机生成的次数
Bài viết được đề xuất: java - 在插入表之前清理数据
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com