Spring-MVC4 + JPA2 + MySql-5.5 + SLF4J + JBoss WildFly-8.1开发环境搭建
来源:互联网 发布:手机版淘宝卖家 编辑:程序博客网 时间:2024/06/05 09:36
由于面试被问到了Spring4,所以打算把过去Spring3的项目全部升级为Spring4。现将环境搭建过程记录在此。
首先使用Maven Archetype创建项目骨架,执行以下命令:
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.0 -DgroupId={你的groupId} -DartifactId={你的artifactId} -Dversion=1.0-SNAPSHOT
完成后会生成最基本的目录结构,和一个包含了JUnit的pom.xml。这显然是不够的。我们需要自行修改 pom.xml 添加所需依赖:
<properties><java-version>1.7</java-version><org.aspectj-version>1.7.3</org.aspectj-version><spring.version>4.0.1.RELEASE</spring.version><slf4jVersion>1.7.7</slf4jVersion></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- Spring dependencies --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!-- 支持文件上传 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><!-- JPA --><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.hibernate.javax.persistence</groupId><artifactId>hibernate-jpa-2.0-api</artifactId><version>1.0.1.Final</version></dependency><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache-core</artifactId><version>2.6.8</version></dependency><dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>1.1.0.Final</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><!-- hibernate --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>4.0.1.Final</version></dependency><!-- MySql JDBC Driver --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><!-- AspectJ --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>${org.aspectj-version}</version></dependency><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.2</version></dependency><!-- @Inject --><dependency><groupId>javax.inject</groupId><artifactId>javax.inject</artifactId><version>1</version></dependency><!-- Servlet --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- JSON --><dependency><groupId>javax.json</groupId><artifactId>javax.json-api</artifactId><version>1.0</version></dependency><!-- SLF4j --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4jVersion}</version></dependency><!-- log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.16</version></dependency></dependencies>
然后把 java版本改为1.7:(Spring4最低要求是1.6)
<build><finalName>shop</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.5.1</version><configuration><source>1.7</source><target>1.7</target><compilerArgument>-Xlint:all</compilerArgument><showWarnings>true</showWarnings><showDeprecation>true</showDeprecation></configuration></plugin></plugins></build>
创建如下图所示的目录结构:
下面是各个配置文件的完整内容。
通过 jboss-deployment-structure.xml 命令JBoss不要使用内置的Log系统:
<?xml version="1.0" encoding="UTF-8"?><jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"><deployment><exclude-subsystems><subsystem name="logging" /></exclude-subsystems></deployment></jboss-deployment-structure>
通过 shop-ds.xml 在部署时动态向JBoss注册数据源:
<?xml version="1.0" encoding="UTF-8"?><datasources xmlns="http://www.jboss.org/ironjacamar/schema"><datasource jndi-name="java:jboss/datasources/shop"enabled="true" use-java-context="true" pool-name="codeschooldb"><connection-url>jdbc:mysql://localhost:3306/shop?characterEncoding=utf-8</connection-url><driver-class>com.mysql.jdbc.Driver</driver-class><driver>mysql</driver><security><user-name>root</user-name><password>111111</password></security></datasource></datasources>
由于我们使用 Servet 3.0,所以web.xml也要相应的升级:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring/root-context.xml</param-value></context-param><!-- spring --><servlet><servlet-name>appServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>appServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><session-config><session-timeout>15</session-timeout></session-config></web-app>
通过Spring配置文件 servlet-context.xml 配置JPA, Hibernate,数据源JNDI查找等内容:
<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --><!-- Enables the Spring MVC @Controller programming model --><annotation-driven /><!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --><resources mapping="/resources/**" location="/resources/" /><!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --><beans:beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><beans:property name="prefix" value="/WEB-INF/views/" /><beans:property name="suffix" value=".jsp" /></beans:bean><!-- 容器管理的JPA --><beans:bean id="emf"class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"><beans:property name="dataSource" ref="dataSource" /><beans:property name="jpaVendorAdapter" ref="jpaAdapter" /><beans:property name="packagesToScan" value="cn.fh.shop.model" /><beans:property name="jpaPropertyMap"><beans:props><beans:prop key="hibernate.show_sql">true</beans:prop><beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop><beans:prop key="hibernate.format_sql">true</beans:prop><beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</beans:prop><!-- 开启L2 cache --><beans:prop key="hibernate.cache.use_second_level_cache">true</beans:prop></beans:props></beans:property></beans:bean><beans:bean id="jpaAdapter"class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"><beans:property name="database" value="MYSQL" /></beans:bean><jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/shop"resource-ref="true" /><beans:beanclass="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /><!-- 事务 --><beans:bean class="org.springframework.orm.jpa.JpaTransactionManager"id="transactionManager"><beans:property name="entityManagerFactory" ref="emf" /></beans:bean><!-- 文件上传 --><beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" ><beans:property name="maxUploadSize" value="100000" /></beans:bean><tx:annotation-driven /><context:component-scan base-package="cn.fh.shop" /></beans:beans>
src/main/resources/log4j.xml 配置如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><!-- Appenders --><appender name="console" class="org.apache.log4j.ConsoleAppender"><param name="Target" value="System.out" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%-5p: %c - %m%n" /></layout></appender><!-- Application Loggers --><logger name="cn.fh.spring"><level value="info" /></logger><!-- 3rdparty Loggers --><logger name="org.springframework.core"><level value="info" /></logger><logger name="org.springframework.beans"><level value="info" /></logger><logger name="org.springframework.context"><level value="info" /></logger><logger name="org.springframework.web"><level value="info" /></logger><!-- Root Logger --><root><priority value="debug" /><appender-ref ref="console" /></root></log4j:configuration>
至此一切OK。执行 mvn clean install 构建工程,将 shop.war 复制到 JBoss 部署目录下即可。
1 0
- Spring-MVC4 + JPA2 + MySql-5.5 + SLF4J + JBoss WildFly-8.1开发环境搭建
- httpd+wildfly jboss集群搭建
- ZooKeeper+Wildfly(jboss)+SolrCloud搭建
- ZooKeeper+Wildfly(jboss)+SolrCloud搭建
- 使用 maven:archetype 创建JSF2 + EJB3.1 + JPA2项目骨架并在JBoss WildFly 8.1上部署
- JBOSS 开发环境搭建
- java开发环境配置/系统搭建(tomcat,jboss,Mysql)
- ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记二:开发环境搭建
- logback + slf4j + jboss + spring mvc
- 搭建基于Eclipse的Jboss开发环境
- Eclipse + JBoss Seam的开发环境搭建
- javaEE之eclipse+jboss搭建开发环境
- Spring MVC4+maven3+MyBatis3+Oracle11和mysql项目搭建
- 搭建Spring开发环境
- 搭建spring开发环境
- 搭建Spring开发环境
- Spring开发环境搭建
- Jboss wildfly部署在linux环境上无法访问的问题
- 搭建IIS提示:Logon failure: user account restriction.
- Visual Assist X 插键快捷键
- ios给view设置圆角
- 算法竞赛入门经典(第2版)习题3-9 子序列 All in All UVa10340
- tera term 禁用ALT键
- Spring-MVC4 + JPA2 + MySql-5.5 + SLF4J + JBoss WildFly-8.1开发环境搭建
- 《JavaScript启示录》学习笔记——第2章 对象与属性
- 用class属性来判断聊天窗口是否打开
- js中处理元素id带“/”(正斜杠)的方法
- 八皇后问题
- tcp/ip: 可靠传输的实现
- 第五题(查找最小的k 个元素)
- JSONObject 保存和传送 数组数据 ,如int[] ,double[] ,String[]...
- linux内核cdev_init系列函数(字符设备的注册)