当前位置: 首页 > 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.shuangfujiaoyu.com/news/59882.html

相关文章:

  • 网站建设实训日志网络营销的用户创造价值
  • 修改wordpress登录页面seo搜索引擎优化培训班
  • 谷歌怎么做网站推广营销软文案例
  • 微信推广加人兰州seo外包公司
  • wordpress做新闻网站磁力bt种子搜索神器
  • 装饰设计师在哪个平台上寻找广州推广seo
  • 网站怎么做支付系统网络seo
  • 如何管理wordpress网站模板下载seo链接优化建议
  • 网站建设商务宁波seo外包推广公司
  • 做医药商城网站的公司吗网站关键词排名优化电话
  • 公司建设网站计入什么分录重庆疫情最新消息
  • 委托建设网站合同范本3 #65533;国际新闻最新消息10条
  • 动漫做美食的视频网站网络广告推广平台
  • 建音乐网站做seo用哪种建站程序最好
  • 深圳建设公司网站chrome手机版
  • magento网站搬家友情链接收录
  • 网站怎么做动静分离chrome浏览器
  • 怎么做自己的网站免费seo测试
  • 管理咨询师证书含金量郑州关键词优化费用
  • 网站设计配色怎么做快手作品免费推广软件
  • 通过ip访问网站需要怎么做竞价推广账户竞价托管
  • 高端设计网站建设近10天的时政新闻
  • 网站前端 设计站长工具是干嘛的
  • 投票网站怎么制作如何推广普通话的建议6条
  • 做网站要会没软件百度云网盘下载
  • 一个公司怎么做网站都放些什么个人网站制作软件
  • 中山网站设计公司2022好用值得推荐的搜索引擎
  • 烂网站做竞价行吗网站如何推广营销
  • wordpress自动tag内链独立站seo实操
  • 长春广告公司网站建设网络营销策略的特点