Spring IoC底层实现原理,在SpringBoot中好像都是使用CGLib,这是什么情况???
Spring IoC底层实现原理,分为2种情况
1、实现接口,Spring底层优先使用JDK动态代理的方式为目标类自动生成代理,从而实现功能扩展
2、没有实现接口,则自动使用CGLib的方式,通过继承的方法,从而对目标类的进行扩展
代码如下:
package com.imooc.mall.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * 配置地址映射 */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { /*registry.addResourceHandler("/admin/**").addResourceLocations("classpath:/static/admin/"); registry.addResourceHandler("/images/**").addResourceLocations("file:" + Constant.FILE_UPLOAD_DIR);*/ registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); } }
结果输出:
2020-08-17 14:10:51 JRebel: Reloading class 'com.imooc.mall.controller.CategoryController'. 2020-08-17 14:10:51 JRebel: Reinitialized class 'com.imooc.mall.controller.CategoryController$$EnhancerBySpringCGLIB$$1'. 2020-08-17 14:12:33 JRebel: Reloading class 'com.imooc.mall.config.WebMvcConfig'. 2020-08-17 14:12:33 JRebel: Reinitialized class 'com.imooc.mall.config.WebMvcConfig$$EnhancerBySpringCGLIB$$1'.
37
收起
正在回答 回答被采纳积分+1
1回答
相似问题
登录后可查看更多问答,登录/注册
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星