本文采用正向工程
1.搭建工程
        工程名称:mvcsh
2.添加支持的jar包
        1).spring-3.2.0.jar

            注:struts相关的jar不需要

            \libs\*.jar

            com.springsource.org.aopalliance-1.0.0.jar
            com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
            commons-logging.jar
        2).hibernate-distribution-3.6.10.Final.zip

            \hibernate3.jar

            lib\required\*.jar
            backport-util-concurrent.jar
            ehcache-1.5.0.jar

            c3p0-0.9.1.jar

            hibernate-jpa-2.0-api-1.0.1.Final.jar
            log4j.jar
            slf4j-log4j12-1.6.1.jar

            mysql-connector-java-5.1.10-bin.jar

3.添加及修改相关配置文件
        1).修改web.xml文件
            a.添加spring监听与上下文
                
                
                    org.springframework.web.context.ContextLoaderListener
                

                
                    contextConfigLocation
                    classpath:applicationContext.xml
                

            b.添加springmvc的配置信息
                
                
                    springmvc
                    org.springframework.web.servlet.DispatcherServlet
                    
                        contextConfigLocation
                        classpath:springmvc-servlet.xml
                    

                

                
                    springmvc
                    /
                

        2).添加spring核心配置文件
            applicationContext.xml
            
                               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:context="http://www.springframework.org/schema/context"
                   xmlns:aop="http://www.springframework.org/schema/aop"
                   xmlns:tx="http://www.springframework.org/schema/tx"
                   xsi:schemaLocation="
                   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
                   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
                   http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
            

        3).添加springmvc核心配置文件
            springmvc-servlet.xml
            
                              xmlns:mvc="http://www.springframework.org/schema/mvc"  
                  xmlns:context="http://www.springframework.org/schema/context"  
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
                  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">
                    
            

        4).在springmvc-servlet.xml中添加配置信息
            a.扫描注解信息
                
                
                
            b.配置视图解析器
                
                
                        
                    
                    
                    
                

        5).添加属性文件jdbc.properties
            jdbc.driver = com.mysql.jdbc.Driver
            jdbc.url = jdbc:mysql://localhost:3306/test
            jdbc.user = root
            jdbc.password =root
        6).配置spring的配置,在applicationContext.xml文件中添加如下配置
            
            
            
            
            
            
            
            
            
                
                
                
                
            

            
            
            
                
                
                
                
                    
                        org.hibernate.dialect.MySQLDialect
                        true
                        true
                        thread
                        update
                    

                

                
                
                    
                        cn.jbit.mvcwithspring.domain
                    

                

            

            
            
            
                
            

            
            
            
                
            

            
            
            

4.实体类
        /mvcsh/src/cn/jbit/mvcwithspring/domain/Student.java
        @Entity
        @Table(name="m_student")
        public class Student implements Serializable {
            
            @Id
            @GeneratedValue(strategy=GenerationType.AUTO)
            private Integer studentNo;
            private String studentName;
            private Integer age;
            //省略get和set方法
        }
5.持久层
        a.接口
            public interface IStudentDao {
                //添加
                public void insert(Student student);
                //查询
                public List select();
            }
        b.实现类
            @Repository
            public class StudentDaoImpl implements IStudentDao {

                @Autowired
                private HibernateTemplate hibernateTemplate;
                public void insert(Student student) {
                    this.hibernateTemplate.save(student);
                }
                public List select() {
                    return this.hibernateTemplate.find("FROM Student");
                }
            }
6.业务逻辑层
        a.接口
            public interface IStudentService {
                public void save(Student student);
                public List findAll();
            }
        b.实现类
            @Service
            @Transactional
            public class StudentServiceImpl implements IStudentService {
                @Autowired
                private IStudentDao studentDao;
                public void save(Student student) {
                    this.studentDao.insert(student);
                }
                public List findAll() {
                    return this.studentDao.select();
                }
            }

7.控制器
        @Controller
        @RequestMapping("/student")
        public class StudentController {
            @Autowired
            private IStudentService studentService;
            @RequestMapping("/save")
            public String save(Student student){
                this.studentService.save(student);
                return "/savesuccess";
            }
            @RequestMapping("/list")
            public String list(HttpServletRequest request){
                List students = this.studentService.findAll();
                request.setAttribute("students", students);
                return "/list";
            }
        }

8.显示层
    1).save.jsp
        使用表单提交数据
    2).list.jsp
        


            
                
                
                
            
            
                

                    
                    
                    
                
            
        
学号姓名年龄
${s.studentNo }${s.studentName }${s.age }

    3).savesuccess.jsp

        添加成功的提示信息

SpringMVC与Spring、Hibernate整合_第1张图片