Maven之Spring+SpringMVC+Hibernate搭建
来源:互联网 发布:大数据软件开发 编辑:程序博客网 时间:2024/05/29 15:52
Spring和Spring MVC是3.2.3.RELEASE 版本的,Hibernate是3.6.10.Final版本的,采用的是Mysql数据库,使用的是JDK1.7版本,Jetty9服务器,这里吐槽一下,maven下开发,tomcat没有jetty好用,虽然tomcat很牛逼,但是真的没有jetty好用,项目的源码地址:https://git.oschina.net/yellowcong/spring_springMVC_Hibernate
pom.xml配置文件
在pom中设定了使用的是阿里云的工厂,这样在国内的下载速度飞一样的感觉
<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>yellowcong</groupId> <artifactId>spring_springmvc_hibernate</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>users Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 配置国内比较快的 阿里云的Maven仓库 --> <repositories> <repository> <id>aliyunmaven</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <!-- <scope>test</scope> --> </dependency> <!-- 导入jsp --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2.1-b03</version> <scope>provided</scope> </dependency> <!-- 导入servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <!-- 导入Spring的orm --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!-- Slf4j --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <!-- 配置切面 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <!---aspectj 面向切向 --> <dependency> <groupId>aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.5.3</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.5</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.15.0-GA</version> </dependency> <!-- Spring需要的注解 --> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.2</version> </dependency> <!-- 配置Spring mvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- 配置fileupload,spring mvc依赖 --> <dependency> <groupId>com.liferay</groupId> <artifactId>org.apache.commons.fileupload</artifactId> <version>1.2.2.LIFERAY-PATCHED-1</version> </dependency> <!-- 数据库 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> <!-- 数据连接池 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <!-- hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.10.Final</version> </dependency> <!-- 日志 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> </dependencies><!-- 共用的配置说明,比如spring版本, 项目名称, jdk版本等 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>3.2.3.RELEASE</spring.version></properties> <build> <finalName>users</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <!-- 配置war包的名称 --> <warName>hello</warName> </configuration> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.6.v20170531</version> <configuration> <scanIntervalSecond>10</scanIntervalSecond> <webApp> <contextPath>/users</contextPath> </webApp> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build></project>
Web.xml
配置编码,Springmvc,Spring
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>spring_springmvc_hibernate</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- Spring mvc --> <servlet> <servlet-name>config</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>config</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- 设定字符编码 --> <filter> <filter-name>CharacterFilter</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> </filter> <filter-mapping> <filter-name>CharacterFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- spring的监听器,可以通过上下文来获取参数 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:ApplicationContext.xml</param-value> </context-param> <!-- spring 中提供的获取Session的方法 --> <filter> <filter-name>OpenSessionInViewFilte</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> <init-param> <param-name>singleSession</param-name> <param-value>false</param-value> </init-param> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilte</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
config-servlet.xml
配置Spring 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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <mvc:default-servlet-handler/> <!-- 通过Annotation 来控制Controller --> <context:component-scan base-package="com.yellowcong"></context:component-scan> <mvc:annotation-driven></mvc:annotation-driven> <!-- 将静态文件夹制定到某个特别的文件夹中统一处理 ** 表示的是文件夹中的子文件夹中的所有类容 其中location 需要两个 正斜杠 --> <mvc:resources location="/resources/" mapping="/resources/**"/> <!-- 配置权限拦截器 --> <!-- 当我们的数据访问到 amdin的时候,就会直接调用admin对象 --> <!-- <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/user/**"/> <mvc:mapping path="/role/**"/> <mvc:mapping path="/group/**"/> <mvc:mapping path="/attachment/**"/> <mvc:mapping path="/reply/**"/> <mvc:mapping path="/tabel/**"/> <mvc:mapping path="/image/**"/> <mvc:mapping path="/info/**"/> <mvc:mapping path="/login/stu"/> <mvc:mapping path="/admin/**"/> <bean class="com.yellowcong.interceptor.UserInterceptor"/> </mvc:interceptor> </mvc:interceptors> --> <!-- 设定访问的名称 和对应的Servlet --> <!-- 配置Multipart,只有设定了才能完成文件上传 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="5000000"></property> </bean> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 3.0.5后默认加上了jstl的属性配置.这个就是默认的配置 --> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> <!-- 设定前缀 --> <property name="prefix" value="/WEB-INF/jsp/"></property> <!-- 设定后缀 --> <property name="suffix" value=".jsp"></property> </bean> <!-- 配置全局异常 --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <!-- <prop key="com.yellowcong.exception.UserException">error</prop> <prop key="java.lang.RuntimeExceptio">error</prop> <prop key="com.yellowcong.exception.ChannelException">error</prop> <prop key="com.yellowcong.exception.GroupException">error</prop> <prop key="com.yellowcong.exception.RoleException">error</prop> --> </props> </property> </bean></beans>
ApplicationContext.xml
注意Spring的这个配置文件放在src/main/resources
类目录下,这个如果自己还想在细分下去,放置的位置需要在web.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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <!-- 通过我们 注释所表示的是可选配置的方式--> <!-- 开启我们的注解 ,有时候 找不到类,我们可以在后面添加 * 表示所遇的包--> <context:annotation-config/> <context:component-scan base-package="com.yellowcong.*"/> <!-- 其中我们可以通过properties 后面你有个神奇的空格 设定数据库的一些属性 --> <context:property-placeholder location="classpath:jdbc-config-local.properties" /> <!-- 配置数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${driverClassName}"/> <property name="jdbcUrl" value="${url}"/> <property name="user" value="${username}"/> <property name="password" value="${password}"/> <!-- 链接池启动的初始值 --> <property name="initialPoolSize" value="5"/> <!-- 设定最大的请求连接 --> <property name="maxPoolSize" value="500"/> <!-- 最小的空闲值当空闲的连接数目比较 --> <property name="minPoolSize" value="1"/> <!--最大空闲值,超过60秒钟没有用就默认关闭, 默认值为 0 --> <property name="maxIdleTime" value="0"/> <!-- 连接数没有了的时候,获取的连接输 默认是 3 我们可以设定 --> <property name="acquireIncrement" value="5"/> <!-- 自动回收超时连接 --> <property name="unreturnedConnectionTimeout" value="1"/> <!--连接时间最长为10s ,超过了10s就自动收回了 --> <property name="maxIdleTimeExcessConnections" value="10"/> <!--最长回收时间--> <property name="maxConnectionAge" value="10"/> </bean> <!-- 配置SessionFacrory ,其中我们是基于xml 配置使用LocalSessionFactoryBean这个类--> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="packagesToScan"> <value>com.yellowcong.entity</value> </property> <!-- 配置一些SQL数据 这个以前是在hibernate.cfg.xml中配置的数据--> <property name="hibernateProperties"> <!-- 第二种设定值的方式 --> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">false</prop> </props> </property> </bean> <!-- 配置Spring的事物处理 --> <!-- 创建事物管理器对象 --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!-- 配置Aop Spring 是通过Aop 来进行事物管理的 --> <aop:config> <!-- 设定事物 --> <aop:pointcut id="allMethod" expression="execution(* com.yellowcong.dao.impl.*.*(..))"/> <!-- 确定需要调用的方法 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="allMethod"/> </aop:config> <!-- 导入tx 事物管理,配置事物管理 --> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <!-- 这个是所有的方法都加入事物管理 --> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice></beans>
jdbc-config-local.properties
数据库配置
driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql:///yellowcongusername=rootpassword=root
log4j.properties
日志配置
log4j.rootLogger=WARN, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.#log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n# Print the date in ISO 8601 formatlog4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=example.loglog4j.appender.R.MaxFileSize=100KB# Keep one backup filelog4j.appender.R.MaxBackupIndex=1log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n# Print only messages of level WARN or above in the package com.foo.log4j.logger.com.foo=WARN
阅读全文
0 0
- Maven之Spring+SpringMVC+Hibernate搭建
- Spring+Hibernate+SpringMVC+Maven搭建
- 用maven来搭建Spring+SpringMVC+hibernate
- Maven搭建springmvc+spring+hibernate+mysql框架
- maven搭建SpringMVC+Spring+hibernate+JPA
- springmvc +hibernate+ spring+ maven框架搭建
- Maven搭建Springmvc+Spring+Hibernate+html
- Maven搭建SpringMvc+Spring+Hibernate框架
- Spring+Hibernate+SpringMVC+Velocity+Maven搭建
- Maven搭建SpringMVC+Hibernate
- spring+springmvc+hibernate+maven
- 搭建springMVC+Hibernate+Spring
- 搭建Springmvc+spring+hibernate+easyui框架maven版本(目录)
- maven搭建SpringMvc Hibernate Spring的pom.xml
- 基于maven的springmvc +hibernate+ spring框架搭建
- maven+springMVC+hibernate项目搭建(三spring配置结束)
- 搭建springMvc+spring+hibernate+maven开发环境001
- 搭建springMvc+spring+hibernate+maven开发环境002
- 普元 EOS Platform 7.6 如何修改nui.confirm()提示框按钮的显示名称
- 文章标题
- 使用2个timer实现步进马达脉冲加减速控制
- UVA
- [笔记分享] [Tools] Adb介绍及使用
- Maven之Spring+SpringMVC+Hibernate搭建
- oracle:SYSAUX 表空间因为开启了审计,表空间满了后报空间不足 ORA-00604 ORA-01653 ORA-02002
- Unity打包IOS自动发布fir.im
- linux下正确安装jsoncpp
- openCV---与matlab中相对应的函数
- react配合antd
- 10道C++输出易错笔试题收集
- js的map和set
- Cocos2dx-lua安装并使用