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

国家官方网站电脑一切正常就是打不开浏览器

国家官方网站,电脑一切正常就是打不开浏览器,wordpress建站教程linux,企业画册设计制作2.16 模拟Spring IOC容器功能-1 2.17 模拟Spring IOC容器功能-2 什么是IOC? 控制反转,把对象创建和对象之间的调用过程交给Spring框架进行管理使用IOC的目的:为了耦合度降低 解释: 模仿 IOC容器的功能,我们利用 Map…

2.16 模拟Spring IOC容器功能-1

2.17 模拟Spring IOC容器功能-2

什么是IOC?

  1. 控制反转,把对象创建和对象之间的调用过程交给Spring框架进行管理
  2. 使用IOC的目的:为了耦合度降低

解释:

模仿 IOC容器的功能,我们利用 Map 集合存放需要的对象,并新建一个 conf.properties 文件存放信息,在获取 对象 之前解析 ioc.properties 文件中的信息,利用反射技术将 conf.properties 文件中的内容通过 Class.forName 的形式解析为 Class 对象放入集合 map 中,这样每次获取对象都会从 map 中进行获取,不需要再 new

Ioc.properties类:

clazz1=cn.edu.xync.myweb.reflect.Person
clazz2=cn.edu.xync.myweb.reflect.Teacher

IOCContainer类:

package cn.edu.xync.myweb.util;import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;public class IOCContainer {//用来存放配置文件读取通过反射所创建的对象private Map<String,Object> container=new HashMap<String,Object>();public void init() {//读取配置文件InputStream is=IOCContainer.class.getClassLoader().getResourceAsStream("ioc.properties");//通过当前类的字节码加载器去读取ioc.properties文件,以InputStream类型保存Properties p=new Properties();try {p.load(is);//加载文件Set<String> propertyNames=p.stringPropertyNames();//返回配置文件中所有属性的名称Iterator<String> its=propertyNames.iterator();//迭代器遍历while(its.hasNext()) {String key=its.next();String value=p.getProperty(key);//通过key值拿到value,拿到value的目的时通过反射创建对象//通过反射创建出对象后,添加到Map中container.put(key,Class.forName(value).newInstance());//通过无参数的构造方法以反射形式创建对象}}catch (InstantiationException e) {System.err.println("通过配置文件创建对象错误,请检查类完整的包路径名称和类名称是否正确");e.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (IOException e) {System.err.println("读取配置文件错误,请检查文件名称或者路径是否正确");e.printStackTrace();}}public void showElements() {Set<String> keys=container.keySet();//得到Map中所有key组成的SetIterator<String> its=keys.iterator();while(its.hasNext()) {String key=its.next();Object value=container.get(key);System.out.println("key:"+key+",value:"+value);}}public static void main(String[] args) {IOCContainer con=new IOCContainer();con.init();//初始化容器con.showElements();}
}

运行结果:

总结:

通过简单的模拟ioc容器功能,再次理解ioc容器,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制,对于spring框架来说,就是由Spring来负责控制对象的生命周期和对象间的关系

错误:

原因:is这个输入流是空的。加载器没有读取到我的配置文件,因为我没有将ioc.properties放在src根目录文件中,导致读取不到。

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

相关文章:

  • 免费做网站怎么做网站吗2信息门户网站建设合同
  • 网站建设公司专业公司网站建设怎么
  • 传统网站和手机网站的区别是什么做一页简单的h5多少钱
  • 大学生一个人做网站广东狮山网站建设
  • 达州网站建设wordpress超级大菜单如何使用
  • 自己学网站建设聚财的公司名字
  • 怎么做网站卖东西潍坊 优化型网站建设
  • 网站建设方案 ppt中投中原建设有限公司官方网站
  • 网站开发平台论文方案 网站建设
  • dedecms 企业网站做金融网站需要什么营业执照
  • 网站前置审批在哪里办邹城网站建设v556
  • 做网站后台需要什么知识乐清市规划局
  • 网站可视化编辑中国建设银行网站 个人
  • 青海个人旅游网站建设jsp做网站实例
  • 五金表带厂东莞网站建设泰州网站制作策划
  • 大连网站设计哪里有做qq企业邮箱怎么开通注册
  • 网站设计公司网站制作做的网站太大怎么办
  • 湖州建设企业网站做网站加推广
  • 企业网站外包建设网页浏览器怎么卸载
  • 公司网站需要服务器吗网站开发完整教程
  • 网站top排行榜太原那有网站设计公司
  • 资料网站模板网站的首页标题在哪里设置的
  • 找做废薄膜网站怎么做网站布局
  • 网站布局评价网站模板下载html
  • 优秀旅游网站设计手机优化大师怎么卸载
  • 可信网站认证费用在公司的小语种网站上
  • 辽宁建网站毕节网站开发公司电话
  • 便捷网站建设建设银行的积分网站
  • 中国建设监理协会化工监理分会网站html做网站怎么链接音乐
  • 毕业设计wordpress济南seo小黑seo