没有Spring Boot的Spring Data JPA

Spring Boot不适用于Google App Engine(至少不适用于我)。

但是,在GitHub或其他存储库中编写或提供的大多数示例都使用Spring Boot,是否有任何Spring-Data-JPA示例不使用Spring Boot并像以前一样使用普通上下文XML?

那会显示出来

– spring / context.xml(或servlet-context.xml)

刚刚为您创建了这个示例:

的src /主/ web应用/ WEB-INF /弹簧/ context.xml的

            ${hibernate.dialect}             

/src/main/webapp/WEB-INF/spring/jdbc.properties

 # JDBC Connection jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://host:3306/db jdbc.username=user jdbc.password=password hibernate.dialect=org.hibernate.dialect.MySQLDialect 

/src/main/webapp/WEB-INF/spring/servlet-context.xml

     

web.xml中

    contextConfigLocation /WEB-INF/spring/context.xml   webAppRootKey demo_jpa   org.springframework.web.context.ContextLoaderListener   appServlet org.springframework.web.servlet.DispatcherServlet  contextConfigLocation /WEB-INF/spring/servlet-context.xml  1   appServlet /   

的pom.xml

  4.1.7.RELEASE 4.3.8.Final 1.9.0.RELEASE 1.4 5.1.28 UTF-8    org.springframework spring-context-support ${org.springframework-version}   org.springframework spring-webmvc ${org.springframework-version}   org.springframework.data spring-data-jpa ${org.springframework.data-version}   org.hibernate hibernate-entitymanager ${org.hibernate-em-version}   mysql mysql-connector-java ${mysql-connector-version}   commons-dbcp commons-dbcp ${dbcp-version}   

数据实体:com.demo.data.User

 package com.demo.data; 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 = "SYS_USERS") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "USER_ID") private int id; @Column(name = "USER_NAME") private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 

Spring Data JPA Repository:com.demo.data.UserRepository

 package com.demo.data; import org.springframework.data.repository.CrudRepository; public interface UserRepository extends CrudRepository { } 

服务

接口:

 package com.demo.svc; import com.demo.data.User; public interface UserService { User findUserById(Integer id); } 

执行:

 package com.demo.svc; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.demo.data.User; import com.demo.data.UserRepository; @Service public class UserServiceImpl implements UserService { @Autowired UserRepository userRepository; public User findUserById(Integer id) { return userRepository.findOne(id); } } 

Web控制器:com.demo.web.UserController

 package com.demo.web; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.demo.svc.UserService; @Controller public class UserController { @Autowired UserService svc; @RequestMapping("/") @ResponseBody public String test() { return svc.findUserById(1).getName(); } }