javaee

CDI(Weld)整合<1>整合JavaEE环境组件资源

别等时光非礼了梦想. 提交于 2019-12-03 11:31:17
除了基础部分和高级部分,CDI的第三个主题是整合。 CDI还设计了通过SPI提供集成点到Java EE平台的协同工作的平台之外的技术[在Java EE 6发布后,各种各样的Java EE平台扩展(构建在CDI扩展SPI之上)涌现了出来。]。这SPI CDI定位为便携式扩展和集成现有的框架和技术,作为整合JavaEE生态系统的基础。当然, Java EE平台将永远无法规范世界中所有在Java应用程序开发使用的有趣的技术. 你可能不会永远需要直接使用这些SPI ,但不要无视他们的存在。你可能会间接使用它们,比如你使用第三方扩展,如DeltaSpike 。 一:Java EE integration CDI是完全集成到Java EE环境的. 1. Built-in beans 在Java EE环境中,容器提供了以下内置Bean,全部用限定符 @Default : 当前JTA的UserTransaction, 标识当前调用者主要的identity(身份ID), 默认Bean Validation的 ValidationFactory 一个验证器的默认ValidationFactory, HttpServletRequest, HttpSession and ServletContext 注意:FacesContext 是无法注入的.但可以使用下面的Producer方法: import

详解spring 每个jar的作用

限于喜欢 提交于 2019-12-01 00:19:30
spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。 spring-src.zip 就是所有的源代码压缩包。 除了spring.jar 文件,Spring 还包括有其它21 个独立的jar 包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar 包,而不必引入整个spring.jar 的所有类文件。 spring-core.jar 这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 外部依赖Commons Logging, (Log4J)。 spring-beans.jar 这个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。 外部依赖spring-core,(CGLIB)。 spring-aop.jar

快速JavaEE轻量级框架&公用业务模块 设计&实现 4

只愿长相守 提交于 2019-11-30 02:06:02
这部分的代码在 http://git.oschina.net/terrymanu/miracle-framework/tree/master/miraclesea/framework-dao 之前写DAO,都是定义一个泛型的BaseDao,然后写入基本的CRUD,其他的业务DAO都继承这个类。 自从有了Spring Data JPA,这个BaseDao就不需要了,直接使用就行了。 Spring Data JPA基本提供所需的方法,对于业务查询,也可以通过接口+Query的方式使用。另外它还 贴心的提供了AbstractPersistable和AbstractAuditable,用于生成主键和审计信息。但是这个 AbstractPersistable主键的生成方式貌似只支持自增主键,想用UUID好像没什么办法。 这样的话,这个包里就不需要代码了。但是我考虑把DataSource,JPA以及Transaction等和数据库相关的配置文件放在这个包里。虽然目前没有什么代码,但是不排除以后根据业务需要增加公用代码的可能,比如根据Projection部分读取字段。 突然发现 AbstractPersistable不能设置@version的乐观锁。所以还是定义了 AbstractOptimisticLockPersistable以及 Abstract OptimisticLock

Tomcat的基本认识和常用配置

浪子不回头ぞ 提交于 2019-11-29 21:02:26
Tomcat的基本认识和常用配置 Tomcat组成: Tomcat本身由一系列可配置的组件构成,其中核心组件是Servelt容器组件,它是所有其他Tomcat组件的顶层容器。 每个组件都可以在Tomcat安装目录/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。 下面两张图简述了这些组件的关系 ================组成结构1================= ================组成结构2================= Tomcat中对于字节码文件的加载顺序: 1.Web应用的 WEB-INF/classes 中查找字节码文件 2.Web应用的 WEB-INF/lib 目录下的JAR文件中查找字节码文件 3.在Tomcat的lib子目录下直接查找字节码文件 4.在Tomcat的lib子目录下JAR的文件中查找字节码文件 Tomcat中的虚拟主机的配置: 配置虚拟主机: 在conf/server.xml中<Engin>标签下配置<Host>标签就可以为tomcat增加一台虚拟主机了 name -- 指定虚拟主机的名称,浏览器通过这个名称访问虚拟主机 appBase -- 虚拟主机管理的目录,放置在这个目录下的web应用当前虚拟主机可以自动加载 * 缺省虚拟主机 :如果来访者是通过ip来访问

spring第三天SSH整合笔记

早过忘川 提交于 2019-11-29 14:15:53
* spring事务管理 * Spring事务管理高层抽象主要包括3个接口 1)PlatformTransactionManager 事务管理器 ,用于管理事务 2)TransactionDefinition 事务定义信息(隔离、传播、超时、只读)---静态信息 3)TransactionStatus 事务具体运行状态 ----动态信息 * Spring为不同的持久化框架提供了不同的PlatformTransactionManager接口实现 1)org.springframework.jdbc.datasource.DataSourceTransactionManager 使用Spring JDBC或MyBatis 进行持久化数据时使用 2)org.springframework.orm.hibernate3.HibernateTransactionManager 使用Hibernate3.0版本进行持久化数据时使用 * 事务隔离级别(四种) DEFAULT 使用后端数据库默认的隔离级别(spring中的的选择项) READ_UNCOMMITED 允许你读取还未提交的改变了的数据。可能导致脏、幻、不可重复读 READ_COMMITTED 允许在并发事务已经提交后读取。可防止脏读,但幻读和 不可重复读仍可发生 REPEATABLE_READ 对相同字段的多次读取是一致的

JavaEE——servlet详解

僤鯓⒐⒋嵵緔 提交于 2019-11-29 09:19:22
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Servlet生命周期 Servlet在整个web工程中只有一个对象 Servlet不能自己创建,由服务器创建 Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法, 2,响应客户请求阶段  调用service()方法 3,终止阶段  调用destroy()方法 初始化阶段有两种方式可以 1、第一次访问的时候,创建了对象 2、你可以设置服务器启动后就初始化servlet对象。(在注释中加入loadonstartup=1) 销毁sevlet的两种方式 1、web工程重新部署(拷贝进去) 2、正常的tomcat关闭 http协议即超文本传输协议,用的基层协议就是tcp,thhp和https都是在tcp的基础上开发的。 不管是request请求头还是response响应头都是由服务器创建的,由服务器群自己写代码实现接口的。 Tomcat对request和response的优化 HttpServletRequest request常用方法 1、获得客户机信息 getRequestURL方法返回客户端发出请求时的完整URL。 getRequestURI方法返回请求行中的资源名部分。 getQueryString

快速JavaEE轻量级框架&公用业务模块 设计&实现 6.1

落爺英雄遲暮 提交于 2019-11-29 01:22:39
使用unitils的dbunit模块进行测试。 真正的去访问数据库,每次测试之前打开一个事务,插入测试数据,业务操作,断言测试数据,回滚。 其中unitils+dbunit实现了除业务操作之外的所有步骤。 dbunit提供了将xml直接转换为数据库数据的功能。 unitils则进一步封装,提供了@DataSet,@ExpectDataset以及事务管理等功能,可以通过annotation的方式将数据文件导入数据库,也可以通过xml去断言数据,并且支持自动回滚,超级方便。 这里在使用 unitils整合dbunit的时候碰到了两个问题,记录一下。 关于问题,请分别查看下面两篇文章: unitils使用@DataSet插入测试数据,测试结束后不能回滚 mysql+unitils用@DataSet,抛NoSuchColumnException 最后,贴上一段标准DAO测试的代码: @DataSet public final class RoleDaoTest extends IntegrateBaseTest { @SpringBeanByType private RoleDao roleDao; @Test @ExpectedDataSet public void save() { Role role = new Role(); role.setName("Test Role");

JavaEE——HTML5绘画

隐身守侯 提交于 2019-11-27 11:51:46
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 绘画是HTML5的新功能,以前是没有的,有flash的功效,各大主流浏览器都支持。 < canvas >绘画组件 canvas 元素用于在网页上绘制图形。 HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。 画布是一个矩形区域,您可以控制其每一像素。 canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。 创建 Canvas 元素 向 HTML5 页面添加 canvas 元素。 规定元素的 id、宽度和高度: 我们使用画板做一个图案随机出现位置 来源: oschina 链接: https://my.oschina.net/u/2855267/blog/1558148

Spring 和 JavaEE的关系

故事扮演 提交于 2019-11-26 16:50:35
Java EE vs Spring. Or: What is a standard? 什么是JavaEE J2EE是一系列技术标准所组成的平台。 JavaEE包含了对一系列标准(接口)的实现。 如果你要用这些接口,恐怕要使用JavaEE服务器而不仅仅是一个Servlet容器 Servlet-API Servlet变准是如何执行的 因为汤姆猫实现了servlet-api所以它知道怎么去找web.xml文件。 JPA规范 对于tomcat来说,他没有实现JPA规范,所以当你真的要在你的web应用里头实现数据库访问 可以简单使用JDBC,这一点是不受限制的,因为JDBC不是JavaEE的东西,大家都可以用,JDBC只是Java数据库连接 看一下人家sqlite实现的接口 package org.sqlite; public class JDBC implements java.sql.Driver { public static final java.lang.String PREFIX = "jdbc:sqlite:"; public JDBC() { /* compiled code */ } public int getMajorVersion() { /* compiled code */ } public int getMinorVersion() { /* compiled