容器:一个组件管理器,我们可以向容器注册组件,或者向容器申请一个特定状态的组件。 常见的容器:Tomcat、Weld、spring等。
2.CDI
对于java EE上下文和依赖注入(CDI)1作为java EE 6平台的一部分,并已迅速成为一个最重要和最受欢迎的平台组件。
CDI定义了一套强大的配套服务,帮助提高应用程序的代码结构。
- 良好组织的组件生命周期管理:方便性
- 类型安全的依赖注入:高可靠性
- 基于事件通知机制的组件通讯:充分解耦
- 优雅的组件拦截器(Interceptor/Decorator):业务逻辑处理
- 扩展容器功能的 SPI:可扩展性
CDI 的核心思想:类型安全的松耦合
特性:对于类、接口、以及注解等绝大多数都视为数据类型。
与Spring的不同是,Spring是通过id别名来区分对象,编译时无法检查(非语法错误),CDI通过注解限定符(类型的不同)来区分对象,在编译的同时就可以发现,而不是在使用的时,候更加安全。
3.关于Weld组件式编程
可以参照附件学习Weld 具体实例可以去仓库下载weld-2.4 reference guide,对源码进行更改学习。
4.Wildfly的安装和配置
下载 wildfly 10.1 from:http://www.wildfly.org,内置 weld2.3.5
下载 weld 2.3.4 from: weld 2.3.5 download
解压缩到$HOME/devel
建立符号链接:ln-sweld-2.3.5.Finalweld
解压缩到$HOME/devel
建立符号链接:ln-sweld-2.3.5.Finalweld
Wildfly的使用
- 通过bin目录下的standalone.sh PS:注意与其他服务的端口冲突问题
- 关闭Wildfly的方式由两种 »1.通过ctrl+c关闭 »2.通过运行jboss-cli.sh关闭
- 运行相应项目的时候,将war包放到对应的standalone/deploymants目录下部署运行