Femtocontainer — The IoC container built into the JDK
来源:互联网 发布:手机版淘宝网首页 编辑:程序博客网 时间:2024/03/29 12:46
FROM:http://www.javarants.com/2005/02/16/femtocontainer-the-ioc-container-built-into-the-jdk/
was published on February 16th, 2005 and is listed in Java, Technology
JavaBeans were created as Java’s answer to the COM component model. There were properties, events, and methods. They were serializable so you could store them in little .ser files. They had design and runtime variations, GUI and non-GUI versions, and all manner of icons, customizers, etc. They appeared to be designed for integration with IDEs so you could bring up a palette of components and reuse them in your applications. During the time between when JavaBeans was released and when EJB was released a lot of developers, including myself (see Jumping Beans), created remoteable versions that could be used between VMs and without GUI representations. This was all quickly stamped out because now there was a JavaBean solution for inter-VM execution — but it didn’t look much like JavaBeans. In fact, it was its own component model that only shared the name and virtually none of the attributes. It felt a lot like annoying Java and JavaScript naming problem. During this same period of Java history a little used specification was released, known as the JavaBeans Glasgow specification. This got virtually no attention but it tried to create a services and lifecycle system for JavaBeans, but because of the interest in EJB and the poorly written specification, it has not gotten much attention. This is an interesting aside, but because there was no IoC framework yet, it would have been difficult to use anyway. Java version 1.3 didn’t introduce much on this side so we will skip ahead to the focus of this entry. In Java 1.4 Sun included a much needed encoding and decoding framework for “JavaBeans”. I put JavaBeans in quotations because it is actually much more powerful than that. It will decode and encode virtually any Java class you wish because of how flexible it is. Essentially, it lets you write Java code in an XML file… much like the Spring IoC Framework. Let’s look at a simple configuration using the Spring Framework and then I will show you the equivalent in the JDK: This is a relatively straight-forward configuration file that specifies two beans, one contains the other and each of them contains a complicated property. So what is this mysterious IoC framework that we are going to use in the JDK? It is none other than java.beans.XMLDecoder. When JavaSoft realized that serializing beans was a nasty business because of versioning issues they created this class and its brother the XMLEncoder to take its place. Instead of little “pickled” (nice name Sun) JavaBeans stored in .ser files you have .xml files with something that is vaguely human readable, at least as much as that Spring stuff is. So what does the translated system look like? Here we go: Interestingly, the format for this file is slightly more powerful in some ways by being infinitely flexible, but it is missing some of the abstraction features like templates that the Spring framework has… at least I think so. I am going to be experimenting with it some more in coming days since I think I’d rather use something built into the JDK than add a ton of new frameworks. Here is the code for loading the config file: Amazingly, Sun even has some good documentation on the femtocontainer. I would love to hear from people what other major features within the spring xml file would be nice to see implemented using this system rather than Spring or other containers. Next I am going to be looking at how modern Java users could reuse BeanContext for all their other container needs…
- Femtocontainer — The IoC container built into the JDK
- The IoC container——SpringFrameWork学习笔记
- Configuring Beans in the Spring IoC Container
- The IoC Container 控制反转容器
- Introduction to the Spring IoC container and beans
- Spring之Chaper 4, The IoC container-4.2 Container view(容器总述)
- The project cannot be built
- Querying the Composition Container
- Using the container
- Part III. Core Technologies--Chapter 4, The IoC container(4.1~4.4)
- Part III. Core Technologies--Chapter 4, The IoC container(4.5~4.8)
- spring-reference-The IoC container的翻译笔记(自己用)
- Into The Night
- Into the Wild决策
- Managing the Container in Spring
- Mat - The Basic Image Container
- Docker: the Linux container engine
- 知识库--The Simple Container Application
- 74系列芯片功能说明
- 玩魔方
- 8.11 进程控制_更改用户ID和组ID
- java远程控制详解-转载
- 请大家帮个忙?
- Femtocontainer — The IoC container built into the JDK
- 去了杭电
- 框架页面查询功能的实现
- AS3 去空格函数 trim
- doc 的命令(全屏,进文件啊,等等...)
- junit源码学习-交织的TestCase和TestResult
- (二十七)光辉岁月
- MyEclipse使用技巧和快捷键有重复
- 创建一个看不见的文件夹