java ee7 配置文件
1. 项目目录
# ee pom.xml Maven构建文件 /src/main/java Java源文件 /src/main/resource 模块配置文件 /src/main/webapp Web页面,样式表,标记文件,图片(仅限Web应用) /src/main/webapp/WEB-INF WEb应用的配置文件
2.数据源对象和连接池 persistence.xml
(1) JPA规范要求在类路径的META-INF目录下放置persistence.xml
(2) 通过JDBC API DataSource对象来访问数据库,getConnection()返回连接对象;
(3) JDBC连接池是一组可重用连接;使用结束后必须关闭连接;
(4) 设置模板
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <!--必须要有name属性,不能为空 --> <persistence-unit name="jpaPU" transaction-type="RESOURCE_LOCAL"> <!--可选 --> <provider>org.hibernate.ejb.HibernatePersistence</provider> <!--可选 --> <jta-data-source>java:/DefaultDS</jta-data-source> <!--可选 --> <mapping-file>ormap.xml</mapping-file> <!--可选 --> <jar-file>MyApp.jar</jar-file> <!--可选 --> <class>org.acme.Employee</class> <!--可选 --> <shared-cache-mode>ALL</shared-cache-mode> <!--可选 --> <validation-mode>CALLBACK</validation-mode> <!--厂商的特定属性 --> <properties> <!--配置Hibernate方言 --> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <!--配置数据库驱动 --> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> <!--配置数据库用户名 --> <property name="hibernate.connection.username" value="root" /> <!--配置数据库密码 --> <property name="hibernate.connection.password" value="root" /> <!--配置数据库url --> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8" /> <!--设置外连接抓取树的最大深度 --> <property name="hibernate.max_fetch_depth" value="3" /> <!--自动输出schema创建DDL语句 --> <property name="hibernate.hbm2ddl.auto" value="update" /> </properties> </persistence-unit> </persistence>
(5) 使用模板
3. glassfish-resources.xml
http://www.oracle.com/technetwork/cn/articles/java/pongegf-1517943-zhs.html
(1) 配置模板
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd"> <resources> <jdbc-connection-pool max-pool-size="10" datasource-classname="org.apache.derby.jdbc.ClientDataSource" res-type="javax.sql.DataSource" name="java:app/jdbc/tasks-pool" pool-resize-quantity="10"> <property name="user" value="APP"/> <property name="PortNumber" value="1527"/> <property name="password" value="APP"/> <property name="ServerName" value="localhost"/> <property name="databaseName" value="tasks-db"/> <property name="connectionAttributes" value=";create=true"/> </jdbc-connection-pool> <jdbc-resource pool-name="java:app/jdbc/tasks-pool" jndi-name="java:app/jdbc/tasks-datasource"/> </resources>
4. 资源注入和依赖注入
(1) 资源注入
@Resource javax.annotation包
示例:
@Resource(name="java:comp/DefaultDataSource")
可以直接注入JNDI资源;
资源按名字解析,类型未知,不能保证类型安全;
(2) 依赖注入
@Inject javax.inject.Inject包
示例:
@Inject CurrencyConverter cc;
不能直接注入JNDI资源;
资源按类型解析,能保证类型安全;
5. 打包 packaging
Java归档文件 |
.jar |
JAR |
Java Archive |
Web归档文件 |
.war |
WAR |
Web Archive |
企业归档文件 |
.ear |
EAR |
Enterprise Archive |
资源适配器归档 |
.rar |
RAR |
Resource Adapter Archive |
文件
企业bean类文件放在 WEB-INF/classes Servlet类文件,企业bean类文件,工具类,JavaBeans组件
jar文件放在 WEB-INF/lib xx.jar
部署描述文件放在 WEB-INF/ web.xml, ejb-jar.xml