0 0

Spring MVC + Jpa + Hibernate + Maven 综合使用的问题15

最近一直在搞Spring相关的开发,但是就是不会从根本上搭建Spring项目,配置起来更是让我头痛。
其实Spring用起来挺简单,就是配置搭建,愁死我了,瞅了好多天,网上找的资料也行不通。
哪位大哥大姐能帮看看,不胜感激。 最下面是源码。 代码不好看 见谅啊。
这是web.xml web应用的入口。
<?xml version="1.0" encoding="UTF-8"?>
<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_2_5.xsd"
	version="2.5">
	<display-name>Spring MVC Web Application</display-name>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:/applicationContext*.xml</param-value>
	</context-param>

	<!-- 設定Spring Context的默认Profile -->
	<context-param>
		<param-name>spring.profiles.default</param-name>
		<param-value>development</param-value>
	</context-param>

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 配置spring mvc -->
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>/index.jsp</welcome-file>
	</welcome-file-list>
</web-app>


下面是Spring 配置 spring-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:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc 
	http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-3.2.xsd">

	<!-- 激活@Controller模式 -->
	<mvc:annotation-driven />
	
	<!-- 对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能-->
	<context:component-scan base-package="com.cn.wuxiong.spring" />

	<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/views/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
</beans>
 
在下面是application配置信息 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:context="http://www.springframework.org/schema/context"
	xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
		http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
		http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
		http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"
	default-lazy-init="true">
	<description>Spring公共配置 </description>

	<!-- 使用annotation 自动注册bean, 并保证@Required、@Autowired的属性被注入 -->
	<context:component-scan base-package="com.cn.wuxiong.spring">
		<context:exclude-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

	<!-- JPA实体管理工厂的配置 -->
	<bean id="entityManagerFactory"
		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" />
		<property name="packagesToScan" value="com.cn.wuxiong.spring" /><!--待扫描的实体类包,不再需要persistence.xml了 -->
		<property name="jpaProperties">
			<props>
				<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hibernate.hbm2ddl.auto">update</prop>
			</props>
		</property>
	</bean>

	<!--指定实现JPA的适配器 -->
	<bean id="hibernateJpaVendorAdapter"
		class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
		<property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
	</bean>

	<!-- Jpa 事务配置 -->
	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactory" />
	</bean>

	<!-- Spring Data Jpa配置 -->
	<!-- <jpa:repositories base-package="cn.ibeans" transaction-manager-ref="transactionManager" 
		entity-manager-factory-ref="entityManagerFactory"/> -->
	<!-- 使用annotation定义事务 -->
	<tx:annotation-driven transaction-manager="transactionManager"
		proxy-target-class="true" />

	<!-- JSR303 Validator定义 -->
	<bean id="validator"
		class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />

	<!-- production环境 -->
	<beans profile="production">
		<context:property-placeholder
			ignore-unresolvable="true" location="classpath*:/db.properties" />

		<!-- 数据源配置, 使用DBCP数据库连接池 -->
		<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
			destroy-method="close">
			<!-- Connection Info -->
			<property name="driverClassName" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />

			<!-- Connection Pooling Info -->
			<property name="maxActive" value="${dbcp.maxActive}" />
			<property name="maxIdle" value="${dbcp.maxIdle}" />
			<property name="defaultAutoCommit" value="false" />
			<!-- 连接Idle一个小时后超时 -->
			<property name="timeBetweenEvictionRunsMillis" value="3600000" />
			<property name="minEvictableIdleTimeMillis" value="3600000" />
		</bean>

		<!-- 数据源配置,使用应用服务器的数据库连接池 -->
		<!--<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/ExampleDB" 
			/> -->
	</beans>

	<!-- local development环境 -->
	<beans profile="development">
		<context:property-placeholder
			ignore-resource-not-found="true"
			location="classpath*:/db.properties,
          			  classpath*:/db_dev.properties" />

		<!-- DBCP连接池 -->
		<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
			destroy-method="close">
			<property name="driverClassName" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
			<property name="defaultAutoCommit" value="false" />
		</bean>
	</beans>

	<!-- unit test环境 -->
	<beans profile="test">
		<context:property-placeholder
			ignore-resource-not-found="true" location="classpath*:/db_test.properties" />

		<!-- Simple连接池 -->
		<bean id="dataSource"
			class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
			<property name="driverClass" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
		</bean>

		<!-- 初始化数据表结构 与默认数据 -->
		<jdbc:initialize-database data-source="dataSource"
			ignore-failures="ALL">
			<jdbc:script location="classpath:sql/h2/schema.sql" />
			<jdbc:script location="classpath:data/import-data.sql"
				encoding="UTF-8" />
		</jdbc:initialize-database>
	</beans>
</beans>
 
然后下面是java实体类Student
package com.cn.wuxiong.spring.school2.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "aastudent")
public class Student {

	private Long id;
	private String stuNo;
	private String name;
	private Integer age;
	private String sex;

	public Student() {
	};

	public Student(Long id, String stuNo, String name, Integer age, String sex) {
		this.id = id;
		this.stuNo = stuNo;
		this.name = name;
		this.age = age;
		this.sex = sex;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "ID", nullable = false)
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "stuNo", nullable = false)
	public String getStuNo() {
		return stuNo;
	}

	public void setStuNo(String stuNo) {
		this.stuNo = stuNo;
	}

	@Column(name = "name", nullable = false)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "age", nullable = false)
	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	@Column(name = "sex", nullable = false)
	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

}
 下面是相关的dao StudentDao.java
package com.cn.wuxiong.spring.school2.dao;

import org.springframework.data.repository.PagingAndSortingRepository;

import com.cn.wuxiong.spring.school2.domain.Student;

public interface StudentDao extends PagingAndSortingRepository<Student, Long>,
		StudentDaoEx {
}
 

下面是dao拓展 StudentDaoEx.java
package com.cn.wuxiong.spring.school2.dao;

import org.springframework.stereotype.Repository;

import com.cn.wuxiong.spring.school2.domain.Student;

@Repository
public interface StudentDaoEx {
	public int getStudentCount();
	public void persist(Student st);
	
}
 

下面是dao的实现StudentDaoImpl.java
package com.cn.wuxiong.spring.school2.dao;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.springframework.stereotype.Repository;

import com.cn.wuxiong.spring.school2.domain.Student;

@Repository
public class StudentDaoImpl implements StudentDaoEx {
	@PersistenceContext
	private EntityManager em;
	
	public void persist(Student st) {
		em.persist(st);
		System.out.println(st);
	}

	public int getStudentCount() {
		return 3;
	}
}
 最后是service调用 SchoolService.java
package com.cn.wuxiong.spring.school2.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.cn.wuxiong.spring.school2.dao.StudentDao;
import com.cn.wuxiong.spring.school2.domain.Student;


@Service
@Transactional
public class SchoolService {
	@Autowired
	private StudentDao dao_stu;

	public void testService() {
		System.out.println("###########################Test service");
	}
	
	public void addStudent(){
		Student s = new Student();
		s.setAge(24);
		s.setStuNo("2008");
		dao_stu.save(s);
		
		if(null != s.getId()){
			System.out.println("####################################"+s.getId());
		}
	}

}
 

 

 

2014年2月24日 19:41

2个答案 按时间排序 按投票排序

0 0

有qq吗给你发一个我写的springMvc+spring3.0+hibernate 吧

2014年2月28日 17:04
0 0

哥们你的问题呢?到底是什么情况?

2014年2月27日 14:38

相关推荐

    spring+mvc+jpa+shiro+hibernate+maven案例

    标题 "spring+mvc+jpa+shiro+hibernate+maven案例" 描述了一种集成多种技术的Web应用开发架构,其中包括Spring MVC、Spring JPA、Shiro、Hibernate以及Maven。这些技术都是Java开发中的关键组件,用于构建高效、安全...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心框架、Spring MVC和Spring Data JPA,而"H"则代表Hibernate,是一个流行的ORM(对象关系映射)框架。让我们详细探讨这些组件以及它们如何...

    spring4.2+spring mvc +spring data+jpa+hibernate的程序构架

    在本项目中,我们看到的是一个基于 Spring 4.2 版本的综合构架,结合了 Spring MVC、Spring Data 和 JPA,以及 Hibernate 的使用。这些技术的整合为构建高效、可维护的 web 应用提供了强大的支持。 1. **Spring 4.2...

    spring+springMVC+jpa+hibernate框架整合

    在IT领域,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+jpa+hibernate框架整合"就是一个常见的解决方案。这个整合涉及到四个关键的技术栈:Spring框架、SpringMVC、JPA(Java Persistence API)...

    spring mvc + spring + hibernate 全注解整合开发视频教程 10

    在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第十部分将聚焦于实际应用中的细节和优化,旨在帮助开发者构建高效、可维护的Java Web应用程序...

    Struts2+Spring3+Hibernate4+Maven+EasyUI

    Struts2+Spring3+Hibernate4+Maven+EasyUI 是一个常见的Java Web开发组合,它们各自扮演着关键的角色,构建了一个高效、模块化的应用程序架构。这个组合在企业级应用中广泛使用,尤其是在数据管理、业务逻辑处理和...

    2017 spring data jpa+spring4.2+springmvc+hibernate4.3 maven环境intellij idea增删改查实例

    综上所述,这个实例提供了一个完整的Java Web开发环境,展示了如何使用Spring Data JPA、Spring 4.2、Spring MVC和Hibernate 4.3进行数据操作,以及如何利用Maven进行项目管理,同时借助IntelliJ IDEA提升开发效率。...

    spring mvc 与JPA/Hibernate的整合示例

    在Java Web开发中,Spring MVC和JPA(Java Persistence API)以及Hibernate作为ORM(对象关系映射)框架的实现,是构建高效、可维护性的应用的常见选择。本示例将探讨如何将这三个组件整合在一起,以实现一个完整的...

    struts2+hibernate+spring+jpa+maven的网上订餐系统

    本项目“struts2+hibernate+spring+jpa+maven的网上订餐系统”就是这样一个典型示例,它充分利用了SSH的优势,构建了一个功能完善的网上订餐平台。这里,我们将深入探讨该系统的相关知识点。 首先,Struts2作为MVC...

    Springmvc+JPA(Hibernate4)+redis+activemq

    **Spring MVC + JPA(Hibernate4) + Redis + ActiveMQ:构建高效、全面的Web应用** Spring MVC 是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了一个灵活的请求处理机制,...

    Struts2+Spring3+Hibernate4+Maven+EasyUI整合视频教程源码

    开发者可以学习到如何配置这些框架,以及如何在Struts2中使用Spring管理Bean,通过Hibernate进行数据持久化,使用Maven进行项目构建,以及利用EasyUI创建前端界面。通过实践,开发者将更好地理解这些技术的工作原理...

    spring+springmvc+jpa(hibernate)框架整合

    Spring、SpringMVC和JPA(Hibernate)是Java开发中常用的三大框架,它们共同构建了一个高效、灵活的企业级应用架构。下面将详细讲解这三大框架的整合及其在实际项目中的运用。 Spring框架是Java企业级应用的核心...

    Spring4+hibernate4+SpringMVC+Maven

    这个项目“Spring4+hibernate4+SpringMVC+Maven”就是一个典型的Java Web开发组合,它利用了四个关键组件:Spring 4、Hibernate 4、Spring MVC和Maven。让我们逐一探讨这些技术及其在项目中的作用。 1. **Spring 4*...

    maven+springmvc+springjpa+hibernate

    在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...

    springmvc spring hibernate jpa maven 整合

    这个项目"springmvc spring hibernate jpa maven 整合"就是这样一个例子,它整合了四个关键的技术组件:Spring MVC、Spring、Hibernate和JPA,以及依赖管理工具Maven。让我们详细探讨这些技术及其在项目中的作用。 ...

    Spring+SpringMvc+Maven+Hibernate整合

    在"Spring+SpringMvc+Maven+Hibernate整合"中,Maven通过其配置文件pom.xml来管理所有依赖库,包括Spring、SpringMVC和Hibernate,确保版本兼容,避免“类路径地狱”。 Hibernate是一个强大的对象关系映射(ORM)...

    spring4+hibernate4+springmvc+maven

    在"spring4+hibernate4+springmvc+maven"的集成环境中,开发人员可以使用Maven进行项目初始化,定义依赖关系,Spring负责管理对象的生命周期和依赖,Hibernate处理数据库交互,而SpringMVC则作为前端控制器,接收...

    Spring + JPA + Hibernate配置

    标题“Spring + JPA + Hibernate配置”涉及到的是Java开发中常用的三个框架——Spring、Java Persistence API (JPA) 和Hibernate的集成与配置。这是一份关于如何将这些框架结合使用的教程或参考资料,可能包含了实现...

Global site tag (gtag.js) - Google Analytics