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

饿了么网站做要多少钱建设岗位考试网站

饿了么网站做要多少钱,建设岗位考试网站,免费空间已经注册 怎么做网站,中国电商网官网构造方法实现实例化 无参构造器实例化 我们之前用的就一直是无参构造器实现实例化,虽然没有在类中写构造器,但是每个类都会有一个默认的无参构造器 有参构造器实例化 相比于无参构造器,我们只需要传入参数就可以了 我们可以通过construc…

构造方法实现实例化

无参构造器实例化

我们之前用的就一直是无参构造器实现实例化,虽然没有在类中写构造器,但是每个类都会有一个默认的无参构造器

有参构造器实例化

相比于无参构造器,我们只需要传入参数就可以了

我们可以通过constructor-arg标签来传递参数

<bean id="UserService" class="com.xxx.service.impl.UserServiceImpl" autowire="byName" scope="prototype"><constructor-arg name="name" value="captain"/><constructor-arg name="age" value="18"/><property name="userDao" ref="UserDao"/></bean>

当然传递自建的类也是可以的

<bean id="UserService" class="com.xxx.service.impl.UserServiceImpl" autowire="byName" scope="prototype"><constructor-arg name="name" value="captain"/><constructor-arg name="age" value="18"/><constructor-arg name="userDao" ref="UserDao"/><!--<property name="userDao" ref="UserDao"/>--></bean>

这里也可以把类的传参看作是依赖注入的构造方法

工厂方法实现实例化

静态工厂

静态工厂实现实例化比较的简单,因为方法是静态的,不需要创建一个对象去调用方法,因此我们可以直接通过我们的factorybean去实例化

<bean  id="UserDao1" class="com.xxx.factory.BeanFactory1" factory-method="userDao"/>

非静态工厂

    <bean id="BeanFactory2" class="com.xxx.factory.BeanFactory2"/><bean id="UserDao2" factory-bean="BeanFactory2" factory-method="userDao"/>

这里相当于我们要先实例化我们的工厂对象,通过这个对象在调用我们的方法,类似于要先new一个对象才能去调用方法

通过实现BeanFactory接口

我们首先写一个类实现FactoryBean接口,之后重写一下里面的方法
我们可以看到getobject方法就和我们之前的工厂中获取bean对象的方法相同,里面只要写上我们想获取的bean

public class BeanFactory3 implements FactoryBean<UserDao> {@Overridepublic UserDao getObject() throws Exception {return new UserDaoImpl();}@Overridepublic Class<?> getObjectType() {return UserDao.class;}
}

这个的xml配置的非常的简短

<bean id="UserDao3" class="com.cjh.factory.BeanFactory3"/>

或许你可能会有疑问,这样我们通过getbean获取的bean对象不是应该是BeanFactory3吗,为什么实际上我们获取的还是UserDaoImpl
在这里插入图片描述

实际上我们可以通过断点调试看一下
我们会发现这样一个缓存,原来我们实际上调用的是这个缓存的内的键值
在这里插入图片描述
而且这个缓存是只有当我们的bean实例化时才会产生,相当于是一种延时,可以减少我们内存的花销,使得性能更优

tips

那么如果我们还是想调用BeanFactory呢
我们可以在bean的名字前加一个&

        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");Object userDao3 = applicationContext.getBean("&UserDao3");System.out.println(userDao3);

在这里插入图片描述
可以看到我们取到的就是BeanFactory

没用的小知识又增加了呢

http://www.yayakq.cn/news/871742/

相关文章:

  • 成都专业的网站建设制作公司哪家好源码做网站
  • 网站建设怎样可以快速有赞微商城网页版
  • 专业的销售网站那些平台可以给网站做外链
  • 网站建设需要下载哪些软件有哪些如何制作公司网站和网页
  • 网站备案和实名认证wordpress建站要钱么
  • hao123网站网站建设与规划心得总结
  • django做网站和js做网站wordpress 瀑布流 插件
  • 商城网站模板图wordpress怎么添加虚拟浏览量
  • 网站建设 7 24网页制作工作
  • c2c网站的盈利模式有哪些猎奇网站模板
  • 有免费建站的网站北京网站优化开户
  • 摄影网站做画册网络广告的优点和缺点
  • 厦门商城网站开发ss免费服务器
  • 热门网站排名网站策划软件
  • 公司网站开发模板昆明网站制作推荐
  • 怎么自学做网站罗湖建网站公司
  • 新站如何提升网站权重做网站怎样投放广告
  • seo网站推广费用建设公司网站要注意什么
  • 做设计找图有哪些网站有哪些问题百度seo优化系统
  • 响应式网站模板 食品杭州做网站的集团
  • 网站建设教程怎么建流程图软件
  • 网站托管外包网络维护管理
  • 公司网站建设好百度搜索引擎营销案例
  • 软件下载网站开发东营企业网站排名
  • 用php做购物网站案例苏州营销型网站建设
  • 网站建设与管理实训课程做网站三剑客
  • 网站目录文件查看找工作平台网站
  • 网站建设的流程视频页面设计代码
  • 怎么自己做直播网站网站建设需求指引
  • 云南城乡建设厅网站定远规划建设局网站