当前位置: 首页 > news >正文

浦东做网站公司黄浦集团网站建设

浦东做网站公司,黄浦集团网站建设,怀仁建设局网站,南昌市,做网站的公司Configuration的proxyBeanMethods属性 在Configuration注解中#xff0c;有两个属性#xff1a; value配置Bean名称proxyBeanMethos#xff0c;默认是true 这个proxyBeanMethods的默认属性是true。 直接说#xff1a;当Configuration注解的proxyBeanMeathods属性是true…Configuration的proxyBeanMethods属性 在Configuration注解中有两个属性 value配置Bean名称proxyBeanMethos默认是true 这个proxyBeanMethods的默认属性是true。 直接说当Configuration注解的proxyBeanMeathods属性是true时那么此类的Bean就会被Spring代理被代理就意味着此类中的方法得到的增强处理。那么此类中通过Bean来对外提供Bean的方法就会被增强 我们可以看一下 这是一个被Configuration修饰的类 Configuration public class DBConfig {}我们获取一下这个Bean打印一下类型 ApplicationContext ctx new AnnotationConfigApplicationContext(SpringConfig.class); System.out.println(ctx.getBean(DBConfig)); // com.liumingkai.config.DBConfig$$EnhancerBySpringCGLIB$$ef2610c55bfa9431可以看到打印出来的类型不是DBConfig而是被代理后的类型DBConfig$$EnhancerBySpringCGLIB(可以看到这是CGLib代理出来的类因为JDK动态代理只能处理有接口的类而CGlib是通过继承的方式来做代理的 当设置proxyBeanMethos的属性是false时得到的就是此类型不再是代理类 System.out.println(ctx.getBean(DBConfig)); // com.liumingkai.config.DBConfig710726a3我们知道被Bean修饰的方法的返回对象会被注册进入Spring的容器中受Spring的管理 那将Configuration的proxyBeanMethods的属性设置为true会有什么好处呢 因为Configuration注解通常用来修饰配置类会在此类中配置大量的配置项或者用来对外提供Bean 该配置类中通过Bean来对外提供Bean的方法会被增强每次都会返回Spring容器管理的Bean 演示一下 例如在Configuration修饰的类在此类中有一个被Bean修饰的方法用来对外提供Bean。 我们获取到此类型的Bean后可以像普通方法一样来调用这个被Bean修饰的方法会得到返回的对象。 区别在于 当proxyBeanMethods属性为true时此类被代理方法得到增强那么我们每次通过此类型的Bean来调用Bean修饰的方法每次返回的都是Spring容器中的单例Bean当proxyBeanMethods属性是false时此类型的Bean就是一个普通的Bean未被代理那么每次调用Bean修饰的方法这都是一个普通的方法返回的都是新的普通的对象不是被Spring容器管理的对象 测试 例如 先来看当proxyBeanMethods为false时 Configuration(proxyBeanMethods false) public class DBConfig {Beanpublic DruidDataSource getDruidDataSource() {return new DruidDataSource();} } 测试 ApplicationContext ctx new AnnotationConfigApplicationContext(SpringConfig.class);// 获取此类型的Bean查看类型 DBConfig dbConfig ctx.getBean(DBConfig, DBConfig.class); // 查看类型 System.out.println(dbConfig); // com.liumingkai.config.DBConfigf2ff811 // 就是普通的类型未被代理// 调用此Bean上被Bean修饰的方法 System.out.println(dbConfig.getDruidDataSource() dbConfig.getDruidDataSource()); // false 证明此方法就是普通的方法每次都会创建一个对象再来看proxyBeanMethods为true的情况 Configuration public class DBConfig {Beanpublic DruidDataSource getDruidDataSource() {return new DruidDataSource();} }测试 ApplicationContext ctx new AnnotationConfigApplicationContext(SpringConfig.class); // 获取此类型的Bean查看类型 DBConfig dbConfig ctx.getBean(DBConfig, DBConfig.class); // 查看类型 System.out.println(dbConfig); // com.liumingkai.config.DBConfig$$EnhancerBySpringCGLIB$$ef2610c55bfa9431 // 可以看到这是一个被代理后的类不再是原先的类型了// 调用此Bean上被Bean修饰的方法 // 此方法是被增强后的每次都会返回Spring容器中的单例Bean System.out.println(dbConfig.getDruidDataSource() dbConfig.getDruidDataSource()); // true 证明此方法返回的是Spring容器中的单例Bean总结 被Configuration修饰的类本质上也是一个Bean 当Configuration中的proxyBeanMethods属性默认是true意味着这个类会被代理这个类中通过Bean修饰的方法会被增强调用这个方法时会直接返回受Spring容器管理的BeanSpring容器中的Bean默认都是单例的而如果Configuration中的proxyBeanMethods属性是false那么此配置类就是一个普通的类未被代理。因此调用被Bean修饰的方法就是一个普通的方法每次调用都会返回一个新的对象
http://www.sadfv.cn/news/19185/

相关文章:

  • 无锡阳山镇网站建设中国遵义门户网站
  • 有什么发布做投标报价的网站品牌网站建设流程图
  • 曲阜市住房和城乡建设局网站一男一女做那个的动漫视频网站
  • 免费商城版网站制作个人在湖北建设厅网站申请强制注销
  • 帝国cms做微网站盐山联通大厦 网站建设
  • 网站管理员有哪些权限免备案空间哪家好
  • 网站需求清单专业网站优化公司
  • 哈尔滨网页模板建站做网站的前景
  • 网站建设常用六大布局建投商务网登录
  • 重庆网站备案规定服装外贸平台有哪些
  • 偃师企业网站建立网站做淘客
  • 做企业网站的广告词做搜狗pc网站
  • 做像淘宝这样的购物网站要多少钱长安高端装备网站设计公司
  • 怎么做直播网站的超管网站建设 概念
  • 海南智能网站建设报价wordpress power
  • 中企动力合作网站深圳企业网站制作维护
  • 国内专业的室内设计网站湛江专业的建站软件
  • 汕头网站建设过程牧星网站建立
  • 樟木头镇做网站万网域名网站建设
  • wild合成版是哪个网站做的海洋网络
  • 优化型网站建设的基本要求企业文化墙设计图效果图
  • 贵阳手机网站建设南通网站建设祥云
  • 网站设计专业建站公司官网设计多少钱
  • 肃宁县网站建设价格第一ppt网站
  • 凡客建站免费的可以用多久hexo ghost wordpress
  • 做国际黄金的网站餐厅网站源码
  • 学校网站建设制度百度地图怎么看上次导航的路线
  • 网站服务器哪个好阿里云虚拟主机可以做两个网站
  • 做深度的互联网站网站安全 维护
  • 收录软件最多的网站百度外包公司有哪些