您现在的位置是:主页 > news > 营销型网站建设sempk/如何把自己的网站推广出去
营销型网站建设sempk/如何把自己的网站推广出去
admin2025/5/16 15:18:15【news】
简介营销型网站建设sempk,如何把自己的网站推广出去,雄安建设集团有限公司网站,企业营销网站建设价格spring aop代理控制 代理方式 spring aop可通过参数proxyTargetProxy控制创建代理的方式 proxyTargetProxytrue:强制使用cglib代理 proxyTargetProxyfalse:目标实现类实现了接口使用jdk,没有实现接口则使用cglib springboot 默认代理行为 #…
spring aop代理控制
代理方式
spring aop可通过参数proxyTargetProxy控制创建代理的方式
proxyTargetProxy=true:强制使用cglib代理
proxyTargetProxy=false:目标实现类实现了接口使用jdk,没有实现接口则使用cglib
springboot 默认代理行为
# 通过参数spring.aop.proxy-target-proxy控制
1.x:proxy-target-proxy=false
2.x:proxy-target-proxy=true
默认代理行为
HelloService
public interface HelloService {String hello();
}
HelloServiceImpl
@Service
public class HelloServiceImpl implements HelloService {@Overridepublic String hello() {return "hello";}
}
HelloService2Impl
@Service
public class HelloService2Impl {public String hello(){return "hello2";}
}
CustomAspect
@Aspect
@Component
public class CustomAspect {@Pointcut("execution(* *.hello(..))")public void fun(){}@Before("fun()")public void before(JoinPoint joinPoint){System.out.print("before ==> ");MethodSignature signature = (MethodSignature) joinPoint.getSignature();Method method = signature.getMethod();System.out.println(method.getDeclaringClass().getName()+"."+method.getName());}
}
HelloController
@RestController
public class HelloController {@Resourceprivate HelloService helloService;@Resourceprivate HelloService2Impl helloService2;@RequestMapping("/hello")public String hello(){/*System.out.println("HelloController helloService.hello():"+helloService.hello());System.out.println("HelloController helloService2.hello():"+helloService2.hello());*/System.out.println(helloService.getClass().getName());System.out.println(helloService2.getClass().getName());return "success";}
}
localhost:8080/hello,控制台输出:
2022-04-23 22:32:19.334 INFO 1224 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 737 ms
2022-04-23 22:32:19.638 INFO 1224 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2022-04-23 22:32:19.646 INFO 1224 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 1.351 seconds (JVM running for 1.774)
2022-04-23 22:32:23.915 INFO 1224 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-23 22:32:23.915 INFO 1224 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2022-04-23 22:32:23.916 INFO 1224 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
before ==> com.example.demo.controller.HelloController.hello# 无论是否实现接口都使用cglib创建代理
com.example.demo.service.impl.HelloServiceImpl$$EnhancerBySpringCGLIB$$b6dcbbe7
com.example.demo.service.impl.HelloService2Impl$$EnhancerBySpringCGLIB$$589ac389
修改代理行为
application.properties
spring.aop.proxy-target-class=false
localhost:8080/hello,控制台输出:
2022-04-23 22:40:14.300 INFO 1237 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 935 ms
2022-04-23 22:40:14.639 INFO 1237 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2022-04-23 22:40:14.647 INFO 1237 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 1.594 seconds (JVM running for 2.17)
2022-04-23 22:40:17.156 INFO 1237 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-23 22:40:17.156 INFO 1237 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2022-04-23 22:40:17.157 INFO 1237 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
before ==> com.example.demo.controller.HelloController.hello# helloServiceImpl使用jdk创建代理对象
com.sun.proxy.$Proxy56# helloService2Impl使用cglib创建代理对象
com.example.demo.service.impl.HelloService2Impl$$EnhancerBySpringCGLIB$$f6915580