使用maven私服构建 springmvc hibernate4 mysql 项目
来源:互联网 发布:科幻电影里的世界知乎 编辑:程序博客网 时间:2024/06/14 19:50
老规矩 直接上源码截图
下面是项目完整源码
Controller 层
package com.haoran.action;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.SessionAttributes;import org.springframework.web.servlet.ModelAndView;import com.haoran.po.User;import com.haoran.service.UserService;@Controller@RequestMapping("/user.do")@SessionAttributes({"u","a"})public class UserController {@Resourceprivate UserService userService;@RequestMapping(params="method=reg")public String reg(String name){System.out.println("UserController.reg()");System.out.println(name);userService.add(name);return "index";}}
DAO 实现层
package com.haoran.dao;import java.util.List;import javax.annotation.Resource;import org.hibernate.SessionFactory;import org.springframework.stereotype.Repository;import com.haoran.po.User;@Repository("userDao")public class UserDao {@Resourceprivate SessionFactory sessionFactory;public void add(User u){System.out.println("UserDao.add()");sessionFactory.getCurrentSession().save(u);}public List getAllUser(){return sessionFactory.getCurrentSession().createSQLQuery("SELECT * FROM userinfo").list();}public SessionFactory getSessionFactory() {return sessionFactory;}public void setSessionFactory(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}}
entity 层
package com.haoran.po;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import static javax.persistence.GenerationType.IDENTITY;import javax.persistence.Id;import javax.persistence.Table;/** * Userinfo entity. @author MyEclipse Persistence Tools */@Entity@Table(name = "userinfo", catalog = "maven")public class User implements java.io.Serializable {// Fieldsprivate Integer id;private String name;private Integer age;// Constructors/** default constructor */public User() {}/** full constructor */public User(String name, Integer age) {this.name = name;this.age = age;}// Property accessors@Id@GeneratedValue(strategy = IDENTITY)@Column(name = "id", unique = true, nullable = false)public Integer getId() {return this.id;}public void setId(Integer id) {this.id = id;}@Column(name = "name", length = 20)public String getName() {return this.name;}public void setName(String name) {this.name = name;}@Column(name = "age")public Integer getAge() {return this.age;}public void setAge(Integer age) {this.age = age;}}
package com.haoran.service;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.haoran.dao.UserDao;import com.haoran.po.User;@Service("userService")@Transactionalpublic class UserService {@Resourceprivate UserDao userDao;public void add(String uname){System.out.println("UserService.add()");User u = new User();u.setName(uname);userDao.add(u);}public List getAllUser(){return userDao.getAllUser();}public UserDao getUserDao() {return userDao;}public void setUserDao(UserDao userDao) {this.userDao = userDao;}}
<?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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"><context:component-scan base-package="com.haoran"/> <!-- 支持aop注解 --><aop:aspectj-autoproxy /><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/maven"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property><property name="packagesToScan"><value>com.haoran.po</value></property> </bean> <!-- 配置事务管理 --><bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" ><property name="sessionFactory" ref="sessionFactory"></property></bean><tx:annotation-driven transaction-manager="txManager" /><aop:config> <aop:pointcut expression="execution(public * com.haoran.service.impl.*.*(..))" id="businessService"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="businessService" /> </aop:config> <tx:advice id="txAdvice" transaction-manager="txManager" > <tx:attributes> <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" /> <tx:method name="*"/></tx:attributes> </tx:advice> </beans>
log4j.properties
log4j.rootLogger=INFO,A1,Rlog4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.Target=System.outlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=[%c]%m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=sshe.loglog4j.appender.R.MaxFileSize=10MBlog4j.appender.R.Threshold=ALLlog4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
springmvc-servlet.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:p="http://www.springframework.org/schema/p"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"><!-- 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --><context:component-scan base-package="com.haoran" /><mvc:annotation-driven /> <beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="cacheSeconds" value="0" /><property name="messageConverters"><list><beanclass="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean></list></property></bean><mvc:interceptors><bean class="com.haoran.interceptor.MyInterceptor"></bean> <!-- 拦截所有springmvc的url! --><mvc:interceptor><mvc:mapping path="/user.do" /><!--<mvc:mapping path="/test/*" />--><bean class="com.haoran.interceptor.MyInterceptor2"></bean></mvc:interceptor></mvc:interceptors><!--对模型视图名称的解析,即在模型视图名称添加前后缀 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"p:suffix=".jsp"><!-- 如果使用jstl的话,配置下面的属性 --><property name="viewClass"value="org.springframework.web.servlet.view.JstlView" /></bean><!-- 处理文件上传 --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="gbk" /> <!-- 默认编码 (ISO-8859-1) --><property name="maxInMemorySize" value="10240" /> <!-- 最大内存大小 (10240)--><property name="uploadTempDir" value="/upload/" /> <!-- 上传后的目录名 (WebUtils#TEMP_DIR_CONTEXT_ATTRIBUTE) --><property name="maxUploadSize" value="-1" /> <!-- 最大文件大小,-1为无限止(-1) --></bean></beans>
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>SpringMvc</groupId> <artifactId>SpringMvc</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>SpringMvc Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <springversion>3.1.2.RELEASE</springversion> <hibernate.version>4.2.5.Final</hibernate.version> <junitversion>3.8.1</junitversion> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!--springmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-asm</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${springversion}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <type>jar</type> <scope>compile</scope> </dependency><dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.2</version> <type>jar</type> <scope>compile</scope> </dependency><!-- 不加这个会爆spring注入错误,这个包用来组织spring被注入的各个模块 --><dependency><groupId>cglib</groupId><artifactId>cglib-nodep</artifactId><version>3.1</version><type>jar</type> <scope>compile</scope> </dependency><!-- log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version><type>jar</type> <scope>compile</scope> </dependency><!-- mysql--> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.32</version></dependency><!-- hibernate4 --> <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>4.1.3.Final</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-ehcache</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>org.hibernate.javax.persistence</groupId><artifactId>hibernate-jpa-2.0-api</artifactId><version>1.0.1.Final</version></dependency><!-- springmvc 返回json --><dependency> <groupId>fakepath</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.7.2</version></dependency><dependency> <groupId>fakepath</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.7.2</version></dependency><!-- 文件上传 --><dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version></dependency><!-- jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency> </dependencies> <build> <finalName>SpringMvc</finalName> </build> <!-- 这段是我自己的maven私服,不需要的可以删掉 --> <distributionManagement> <repository> <id>user-release</id> <name>User Project Release</name> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>user-snapshots</id> <name>User Project SNAPSHOTS</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> </project>
web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>Archetype Created Web Application</display-name> <!-- openSessionInView配置 --><filter><filter-name>openSessionInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class><init-param><param-name>singleSession</param-name><param-value>true</param-value></init-param></filter> <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:hib-config.xml,classpath:springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body><form action="user.do" >用户名:<input type=text name=name /><br/><input type=hidden name=method value=reg /><input type=submit value=注册 /></form> </body></html>
下面是springmvc文件上传
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>测试springmvc中上传的实现</title></head><body><form action="upload.do" method="post" enctype="multipart/form-data"><input type="text" name="name" /><input type="file" name="file" /><input type="submit" /></form></body></html>
package com.haoran.action;import java.io.File;import java.util.Date;import javax.servlet.ServletContext;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.context.ServletContextAware;import org.springframework.web.multipart.commons.CommonsMultipartFile;@Controllerpublic class FileUploadController implements ServletContextAware {private ServletContext servletContext;@Overridepublic void setServletContext(ServletContext context) {this.servletContext = context;}@RequestMapping(value="/upload.do", method = RequestMethod.POST)public String handleUploadData(String name,@RequestParam("file") CommonsMultipartFile file){if (!file.isEmpty()) { String path = this.servletContext.getRealPath("/tmp/"); System.out.println(path); String fileName = file.getOriginalFilename(); String fileType = fileName.substring(fileName.lastIndexOf(".")); System.out.println(fileType); File file2 = new File(path,new Date().getTime() + fileType); try { file.getFileItem().write(file2); } catch (Exception e) { e.printStackTrace(); } return "redirect:upload_ok.jsp";}else{return "redirect:upload_error.jsp";}}}
对应的在项目根路径下新建一个文件夹tmp,到这里就结束了,关于springmvc ajax在这里我就不详细说了,大家可以自己去网上查,很多这种资料!!
1 0
- 使用maven私服构建 springmvc hibernate4 mysql 项目
- Maven搭建SpringMVC+Hibernate4项目
- 使用 maven 构建 全注解spring+ hibernate4 + struts2 项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse和maven构建springmvc项目
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- Meta http-equiv属性详解
- kestrel源代码阅读
- 虚拟机下NAT模式无法上网
- PHP基础----PHP 会话管理----22Cookie 和 Session 的概念与区别
- 二分图定理
- 使用maven私服构建 springmvc hibernate4 mysql 项目
- 九大排序算法
- PHP基础----PHP 会话管理----23操作 Cookie
- Java中数组是对象
- hdu 4006__The kth great number(STL)
- P2P平台很赚钱么?
- PHP基础----PHP 会话管理----24操作 Session
- 魔法训练
- 经典排序算法锦集(深度好文)