最近一直在搞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()); } } }
相关推荐
标题 "spring+mvc+jpa+shiro+hibernate+maven案例" 描述了一种集成多种技术的Web应用开发架构,其中包括Spring MVC、Spring JPA、Shiro、Hibernate以及Maven。这些技术都是Java开发中的关键组件,用于构建高效、安全...
在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...
这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心框架、Spring MVC和Spring Data JPA,而"H"则代表Hibernate,是一个流行的ORM(对象关系映射)框架。让我们详细探讨这些组件以及它们如何...
在本项目中,我们看到的是一个基于 Spring 4.2 版本的综合构架,结合了 Spring MVC、Spring Data 和 JPA,以及 Hibernate 的使用。这些技术的整合为构建高效、可维护的 web 应用提供了强大的支持。 1. **Spring 4.2...
在IT领域,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+jpa+hibernate框架整合"就是一个常见的解决方案。这个整合涉及到四个关键的技术栈:Spring框架、SpringMVC、JPA(Java Persistence API)...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第十部分将聚焦于实际应用中的细节和优化,旨在帮助开发者构建高效、可维护的Java Web应用程序...
Struts2+Spring3+Hibernate4+Maven+EasyUI 是一个常见的Java Web开发组合,它们各自扮演着关键的角色,构建了一个高效、模块化的应用程序架构。这个组合在企业级应用中广泛使用,尤其是在数据管理、业务逻辑处理和...
综上所述,这个实例提供了一个完整的Java Web开发环境,展示了如何使用Spring Data JPA、Spring 4.2、Spring MVC和Hibernate 4.3进行数据操作,以及如何利用Maven进行项目管理,同时借助IntelliJ IDEA提升开发效率。...
在Java Web开发中,Spring MVC和JPA(Java Persistence API)以及Hibernate作为ORM(对象关系映射)框架的实现,是构建高效、可维护性的应用的常见选择。本示例将探讨如何将这三个组件整合在一起,以实现一个完整的...
本项目“struts2+hibernate+spring+jpa+maven的网上订餐系统”就是这样一个典型示例,它充分利用了SSH的优势,构建了一个功能完善的网上订餐平台。这里,我们将深入探讨该系统的相关知识点。 首先,Struts2作为MVC...
**Spring MVC + JPA(Hibernate4) + Redis + ActiveMQ:构建高效、全面的Web应用** Spring MVC 是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了一个灵活的请求处理机制,...
开发者可以学习到如何配置这些框架,以及如何在Struts2中使用Spring管理Bean,通过Hibernate进行数据持久化,使用Maven进行项目构建,以及利用EasyUI创建前端界面。通过实践,开发者将更好地理解这些技术的工作原理...
Spring、SpringMVC和JPA(Hibernate)是Java开发中常用的三大框架,它们共同构建了一个高效、灵活的企业级应用架构。下面将详细讲解这三大框架的整合及其在实际项目中的运用。 Spring框架是Java企业级应用的核心...
这个项目“Spring4+hibernate4+SpringMVC+Maven”就是一个典型的Java Web开发组合,它利用了四个关键组件:Spring 4、Hibernate 4、Spring MVC和Maven。让我们逐一探讨这些技术及其在项目中的作用。 1. **Spring 4*...
在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...
这个项目"springmvc spring hibernate jpa maven 整合"就是这样一个例子,它整合了四个关键的技术组件:Spring MVC、Spring、Hibernate和JPA,以及依赖管理工具Maven。让我们详细探讨这些技术及其在项目中的作用。 ...
在"Spring+SpringMvc+Maven+Hibernate整合"中,Maven通过其配置文件pom.xml来管理所有依赖库,包括Spring、SpringMVC和Hibernate,确保版本兼容,避免“类路径地狱”。 Hibernate是一个强大的对象关系映射(ORM)...
在"spring4+hibernate4+springmvc+maven"的集成环境中,开发人员可以使用Maven进行项目初始化,定义依赖关系,Spring负责管理对象的生命周期和依赖,Hibernate处理数据库交互,而SpringMVC则作为前端控制器,接收...
标题“Spring + JPA + Hibernate配置”涉及到的是Java开发中常用的三个框架——Spring、Java Persistence API (JPA) 和Hibernate的集成与配置。这是一份关于如何将这些框架结合使用的教程或参考资料,可能包含了实现...