spring +Springmvc+ hibernate

来源:互联网 发布:unity3d 寻路插件贴吧 编辑:程序博客网 时间:2024/06/09 20:32

重新整理了一份框架先贴图


web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" 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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><display-name>wang</display-name><!-- 配置springmvc过滤器的字符过滤功能 --><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置session失效时间 --><session-config><session-timeout>120</session-timeout></session-config><!-- 加载spring的上下文 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:config/applicationContext.xml</param-value></context-param><!-- 加载spring的监听 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 配置springmvc的拦截器 --><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath*:config/springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 添加分页过滤器 --><filter><filter-name>systemContextFilter</filter-name><filter-class>com.wang.filter.SystemContextFilter</filter-class><init-param><param-name>defaultPageSize</param-name><param-value>10</param-value></init-param></filter><filter-mapping><filter-name>systemContextFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 错误页面 --><error-page><error-code>404</error-code><location>/pagenotfound</location></error-page><error-page><error-code>400</error-code><location>/pagenotfound</location></error-page><error-page><error-code>405</error-code><location>/pagenotfound</location></error-page><error-page><error-code>500</error-code><location>/systemerror</location></error-page></web-app>
applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:jee="http://www.springframework.org/schema/jee"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"default-lazy-init="true"><!-- 自动扫描与装配bean --><context:component-scan base-package="com.wang"></context:component-scan><!-- 配置自动扫描的包 --><context:component-scan base-package="com.wang"use-default-filters="false"><context:exclude-filter type="annotation"expression="org.springframework.stereotype.Controller" /><context:exclude-filter type="annotation"expression="org.springframework.web.bind.annotation.ControllerAdvice" /></context:component-scan><!-- 配置数据源 --><context:property-placeholder location="classpath:config/db.properties" /><!-- 配置DataSource --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="user" value="${jdbc.user}"></property><property name="password" value="${jdbc.password}"></property><property name="driverClass" value="${jdbc.driverClass}"></property><property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property></bean><!-- 配置SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><!-- 配置数据源属性 --><property name="dataSource" ref="dataSource"></property><!-- 配置扫描的实体包(pojo) --><property name="namingStrategy"><bean class="org.hibernate.cfg.ImprovedNamingStrategy"></bean></property><property name="packagesToScan" value="com.wang"></property><!-- 配置Hibernate 的常用属性 --><property name="hibernateProperties"><props><!-- 数据库的方言 --><!-- Oracle方言 --><!-- <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> --><prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop><prop key="hibernate.hbm2ddl.auto">update</prop></props></property></bean><!-- 配置Hibernate 的事物管理器 --><bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 定义事务 -->      <tx:advice id="txAdvice" transaction-manager="transactionManager">          <tx:attributes>           <tx:method name="add*" propagation="REQUIRED" />            <tx:method name="get*" propagation="REQUIRED" />             <tx:method name="update*" propagation="REQUIRED" />            <tx:method name="del*" propagation="REQUIRED" />            <tx:method name="*" propagation="REQUIRED" />          </tx:attributes>      </tx:advice>      <!-- 定义切面 -->      <aop:config>          <aop:pointcut id="interceptorPointCuts" expression="execution(* com.wang.service.*.*(..))" />          <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" />      </aop:config> <!-- SpringContext Holder --><bean id="springContextHolder" class="com.wang.util.SpringContextHolder"lazy-init="false" /></beans>
sprin-mvc配置

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"><!-- 配置自动扫描的包 --><context:component-scan base-package="com.wang" use-default-filters="false"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/><context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/></context:component-scan><!-- 配置视图解析器:如何把handler方法返回值解析为实际的物理视图 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property> <!-- <property name="prefix" value="/"></property> --><property name="suffix" value=".jsp"></property> </bean><!-- 配置静态资源:default-servlet-handler将在SpringMVC上下文中定义DefaultServletHttpRequestHandler, 它会对进入DispatcherServlet的请求进行帅选,如果发现是没有经过映射的请求,就将该请求交由WEB应用服务器默认的 Servlet处理。如果不是静态资源的请求,才由DispatcherServlet继续处理。 --><mvc:default-servlet-handler /><!-- 配置开启注解 --><mvc:annotation-driven/><!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->  <!-- defaultEncoding="UTF-8" 是请求的编码格式,默认为iso-8859-1maxUploadSize="5400000" 是上传文件的大小,单位为字节uploadTempDir="fileUpload/temp" 为上传文件的临时路径 -->    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >     <property name="defaultEncoding" value="UTF-8" />     <property name="maxUploadSize" value="5400000" />      <property name="uploadTempDir" value="UTF-8" />        </bean>          <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"><property name="messageConverters"><list><ref bean="mappingJackson2HttpMessageConverter"/></list></property></bean><bean id="mappingJackson2HttpMessageConverter"class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value></list></property></bean></beans>
db.properties配置

jdbc.user=rootjdbc.password=123jdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql://localhost:3306/shop?characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false#jdbc.user=nssh#jdbc.password=nssh#jdbc.driverClass=oracle.jdbc.driver.OracleDriver#jdbc.jdbcUrl=jdbc:oracle:thin:@localhost:1521:ORCL
log4j.properties配置

### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file hibernate.log ####log4j.appender.file=org.apache.log4j.FileAppender#log4j.appender.file.File=hibernate.log#log4j.appender.file.layout=org.apache.log4j.PatternLayout#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=warn, stdout#log4j.logger.org.hibernate=info#log4j.logger.org.hibernate=debuglog4j.logger.com.ywx=info
最后pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>wang</groupId><artifactId>wang</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version>  <!-- 指定maven仓库 -->      <repositories><!-- 发现依赖和扩展的远程资源库 -->          <!-- maven自己官方仓库 -->          <repository>              <id>maven</id>              <name>Maven Repository Switchboard</name>              <layout>default</layout>              <url>http://repo1.maven.org/maven2</url>              <snapshots>                  <enabled>false</enabled>              </snapshots>          </repository>          <!-- 阿里巴巴发布版本仓库 -->          <repository>              <id>alibaba-opensource</id>              <name>alibaba-opensource</name>              <url>http://code.alibabatech.com/mvn/releases/</url>              <layout>default</layout>          </repository>          <!-- 阿里巴巴快照版本仓库 -->          <repository>              <id>alibaba-opensource-snapshot</id>              <name>alibaba-opensource-snapshot</name>              <url>http://code.alibabatech.com/mvn/snapshots/</url>              <layout>default</layout>          </repository>      </repositories>      <properties>          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>      </properties>      <!-- maven打成war包放到tomcat目录下,即可运行 -->      <build>          <finalName>wang</finalName>          <plugins>              <plugin>                  <artifactId>maven-war-plugin</artifactId>              </plugin>              <plugin>                  <artifactId>maven-compiler-plugin</artifactId>                  <configuration>                      <source>1.7</source>                      <target>1.7</target>                  </configuration>              </plugin>          </plugins>      </build>      <dependencies><!-- 这个元素描述了所有与当前项目相关的依赖 -->     <!-- junit -->          <dependency>              <groupId>junit</groupId>              <artifactId>junit</artifactId>              <version>4.11</version>              <scope>test</scope>          </dependency>           <!-- servlet -->          <dependency>              <groupId>javax.servlet</groupId>              <artifactId>servlet-api</artifactId>              <version>3.0-alpha-1</version>              <scope>provided</scope>          </dependency>           <!-- log4j -->          <dependency>              <groupId>log4j</groupId>              <artifactId>log4j</artifactId>              <version>1.2.17</version>          </dependency>          <dependency><groupId>asm</groupId><artifactId>asm</artifactId><version>3.3.1</version></dependency><!-- freemarker --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.19</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.5.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.5.0</version></dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.2</version></dependency>                                <!-- @Inject --><dependency><groupId>javax.inject</groupId><artifactId>javax.inject</artifactId><version>1</version></dependency>                   <!-- jstl -->          <dependency>              <groupId>javax.servlet</groupId>              <artifactId>jstl</artifactId>              <version>1.2</version>          </dependency>          <dependency>              <groupId>javax.servlet.jsp</groupId>              <artifactId>jsp-api</artifactId>              <version>2.2.1-b03</version>              <scope>provided</scope>          </dependency>          <!-- 文件上传 -->          <dependency>              <groupId>commons-fileupload</groupId>              <artifactId>commons-fileupload</artifactId>              <version>1.2.2</version>          </dependency>  <dependency>    <groupId>commons-io</groupId>    <artifactId>commons-io</artifactId>    <version>2.5</version></dependency>                          <!-- fastJson json数组有关的 -->          <dependency>              <groupId>com.alibaba</groupId>              <artifactId>fastjson</artifactId>              <version>1.1.26</version>          </dependency>                    <!-- 使用 Jackson 把 Java 对象转换成 JSON 字串 -->          <dependency>              <groupId>org.codehaus.jackson</groupId>              <artifactId>jackson-mapper-asl</artifactId>              <version>1.9.11</version>          </dependency>                <!-- mysql数据库驱动 -->          <dependency>              <groupId>mysql</groupId>              <artifactId>mysql-connector-java</artifactId>              <version>5.1.21</version>          </dependency>          <dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>xml-apis</groupId><artifactId>xml-apis</artifactId><version>1.4.01</version></dependency><dependency><groupId>cglib</groupId><artifactId>cglib-nodep</artifactId><version>2.2.2</version></dependency>          <!-- druid -->          <dependency>              <groupId>com.alibaba</groupId>              <artifactId>druid</artifactId>              <version>0.2.9</version>          </dependency>                    <!-- aspectjweaver.jar这是Spring AOP所要用到的包 -->          <dependency>              <groupId>org.aspectj</groupId>              <artifactId>aspectjweaver</artifactId>              <version>1.7.1</version>          </dependency>                    <!-- hibernate4 -->          <dependency>              <groupId>org.hibernate</groupId>              <artifactId>hibernate-core</artifactId>              <version>4.2.5.Final</version>          </dependency>               <dependency>              <groupId>org.hibernate</groupId>              <artifactId>hibernate-entitymanager</artifactId>              <version>4.2.5.Final</version>          </dependency>          <dependency>              <groupId>org.hibernate</groupId>              <artifactId>hibernate-ehcache</artifactId>              <version>4.2.5.Final</version>          </dependency>          <dependency>              <groupId>org.hibernate.javax.persistence</groupId>              <artifactId>hibernate-jpa-2.0-api</artifactId>              <version>1.0.1.Final</version>          </dependency>                    <!-- spring mvc -->          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-webmvc</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>                    <!-- spring4 -->          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-core</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-context</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-jdbc</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>               <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-beans</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-web</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-expression</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-orm</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>          <dependency>              <groupId>org.springframework</groupId>              <artifactId>spring-test</artifactId>              <version>4.1.4.RELEASE</version>          </dependency>                  </dependencies></project>


最后把源码放上去里面有一些常用的封装工具。

https://pan.baidu.com/s/1pL2snyF

原创粉丝点击