我使用spring MVC,JPA,postgreSQL开发Web应用程序
这是一些代码:
文件:user.java
@Entity
@Table(name = "USER")
public class User implements Serializable{
private Long id;
private String name;
private DateTime birthDate;
private String address;
private String email;
private String phone;
private String username;
private String password;
private boolean isActive;
private String lastModifiedPerson;
private DateTime createdDate;
private DateTime lastModifiedDate;
private int version;
private Set<Role> roles = new HashSet<Role>();
private Set<Entry> entrys = new HashSet<Entry>();
private Set<EntryComment> comments = new HashSet<EntryComment>();
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ID")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name="NAME")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name="BIRTHDATE")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
@DateTimeFormat(iso=ISO.DATE)
public DateTime getBirthDate() {
return birthDate;
}
public void setBirthDate(DateTime birthDate) {
this.birthDate = birthDate;
}
@Column(name="ADDRESS")
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Column(name="EMAIL")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Column(name="PHONE")
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Column(name="USERNAME")
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Column(name="PASSWORD")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Column(name="ISACTIVE")
public boolean isActive() {
return isActive;
}
public void setActive(boolean isActive) {
this.isActive = isActive;
}
@Column(name="LAST_MODIFIED_BY")
public String getLastModifiedPerson() {
return lastModifiedPerson;
}
public void setLastModifiedPerson(String lastModifiedPerson) {
this.lastModifiedPerson = lastModifiedPerson;
}
@Column(name="CREATE_DATE")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
@DateTimeFormat(iso=ISO.DATE)
public DateTime getCreatedDate() {
return createdDate;
}
public void setCreatedDate(DateTime createdDate) {
this.createdDate = createdDate;
}
@Column(name="LAST_MODIFIED_DATE")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
@DateTimeFormat(iso=ISO.DATE)
public DateTime getLastModifiedDate() {
return lastModifiedDate;
}
public void setLastModifiedDate(DateTime lastModifiedDate) {
this.lastModifiedDate = lastModifiedDate;
}
@Transient
public String getBirthDateString(){
String birthDateString="";
if(birthDate != null)
birthDateString = org.joda.time.format.DateTimeFormat
.forPattern("yyyy-MM-dd").print(birthDate);
return birthDateString;
}
@Transient
public String getLastModifiedDateString(){
String birthDateString="";
if(lastModifiedDate != null)
birthDateString = org.joda.time.format.DateTimeFormat
.forPattern("yyyy-MM-dd").print(lastModifiedDate);
return birthDateString;
}
@Transient
public String getCreateDateString(){
String birthDateString="";
if(createdDate != null)
birthDateString = org.joda.time.format.DateTimeFormat
.forPattern("yyyy-MM-dd").print(createdDate);
return birthDateString;
}
@ManyToMany
@JoinTable(name = "USER_ROLE",
joinColumns = @JoinColumn(name="USER_ID"),
inverseJoinColumns=@JoinColumn(name="ROLE_ID"))
public Set<Role> getRoles() {
return roles;
}
public void setRoles(Set<Role> roles) {
this.roles = roles;
}
@OneToMany(mappedBy="user", cascade= CascadeType.ALL, orphanRemoval=true)
public Set<Entry> getEntrys() {
return entrys;
}
public void setEntrys(Set<Entry> entrys) {
this.entrys = entrys;
}
@OneToMany(mappedBy="user", cascade = CascadeType.ALL, orphanRemoval = true)
public Set<EntryComment> getComments() {
return comments;
}
public void setComments(Set<EntryComment> comments) {
this.comments = comments;
}
@Version
@Column(name="VERSION")
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
@Override
public String toString(){
return "User - Id:" + id +", Name: "+ name +", Username: " + username +", CreatedDate: " + createdDate;
}
}
文件:UserRepository.java
package com.software.booksocial.repository;
import org.springframework.data.repository.CrudRepository;
import com.software.booksocial.domain.User;
public interface UserRepository extends CrudRepository<User, Long> {
}
文件:UserService.java
package com.software.booksocial.service;
import java.util.List;
import com.software.booksocial.domain.User;
public interface UserService {
List<User> findAll();
User findById(Long id);
User save(User user);
}
文件:UserServiceIml.java
package com.software.booksocial.service.jpa;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.software.booksocial.domain.User;
import com.software.booksocial.repository.UserRepository;
import com.software.booksocial.service.UserService;
import com.google.common.collect.Lists;
@Repository
@Transactional
@Service("userService")
public class UserServiceIml implements UserService {
@Autowired
private UserRepository userRepository;
@Override
@Transactional(readOnly = true)
public List<User> findAll(){
return Lists.newArrayList(userRepository.findAll());
}
@Override
@Transactional(readOnly=true)
public User findById(Long id){
return userRepository.findOne(id);
}
@Override
public User save(User user){
return userRepository.save(user);
}
//@Autowired
//public void setUserRepository(UserRepository userRepository){
// this.userRepository = userRepository;
//}
}
文件:UserController.java
package com.software.booksocial.controller;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.software.booksocial.domain.User;
import com.software.booksocial.service.UserService;
@RequestMapping("/users")
@Controller
public class UserController {
final Logger logger = LoggerFactory.getLogger(UserController.class);
@Autowired
private UserService userService;
@RequestMapping(method = RequestMethod.GET)
public String list(Model uiModel){
logger.info("Listing Users");
List<User> users = userService.findAll();
uiModel.addAttribute("users", users);
logger.info("No. of users: " + users.size());
return "users/list";
}
}
以及图像链接中的数据库结构:
https://dl.dropboxusercontent.com/u/39630113/DBBookSocial.png https://dl.dropboxusercontent.com/u/39630113/DBBookSocial.png
https://dl.dropboxusercontent.com/u/39630113/Picture/DBUpdate.png https://dl.dropboxusercontent.com/u/39630113/Picture/DBUpdate.png
主要错误:
Hibernate:选择user0_.ID为ID1_8_,user0_.ISACTIVE为
ISACTIVE2_8_,user0_.ADDRESS 为 ADDRESS3_8_,user0_.BIRTHDATE 为
BIRTHDAT4_8_,user0_.CREATE_DATE 为 CREATE_D5_8_,user0_.EMAIL 为
EMAIL6_8_,user0_。LAST_MODIFIED_DATE 为 LAST_MOD7_8_,
user0_.LAST_MODIFIED_BY 为 LAST_MOD8_8_,user0_.NAME 为 NAME9_8_,
user0_.PASSWORD 为 PASSWOR10_8_,user0_.PHONE 为 PHONE11_8_,
user0_.USERNAME 为 USERAM12_8_,user0_.VERSION 为 VERSION13_8_ 来自
用户 user0_ 警告:org.hibernate.engine.jdbc.spi.SqlExceptionHelper -
SQL 错误:0,SQL 状态:42703 错误:
org.hibernate.engine.jdbc.spi.SqlExceptionHelper - 错误:列
user0_.id 不存在 位置: 8 Jan 27, 2015 4:37:45 PM
org.apache.catalina.core.StandardWrapperValve 调用严重:
servlet [appServlet] 的 Servlet.service() 在带有路径的上下文中
[/readersocial] 抛出异常 [请求处理失败;嵌套的
例外是
org.springframework.dao.InvalidDataAccessResourceUsageException:可以
不提取ResultSet; SQL [不适用];嵌套异常是
org.hibernate.exception.SQLGrammarException:无法提取
ResultSet] 根本原因 org.postgresql.util.PSQLException:错误:
列 user0_.id 不存在 位置:8
和错误文本:
Hibernate: select user0_.ID as ID1_8_, user0_.ISACTIVE as
ISACTIVE2_8_, user0_.ADDRESS as ADDRESS3_8_, user0_.BIRTHDATE as
BIRTHDAT4_8_, user0_.CREATE_DATE as CREATE_D5_8_, user0_.EMAIL as
EMAIL6_8_, user0_.LAST_MODIFIED_DATE as LAST_MOD7_8_,
user0_.LAST_MODIFIED_BY as LAST_MOD8_8_, user0_.NAME as NAME9_8_,
user0_.PASSWORD as PASSWOR10_8_, user0_.PHONE as PHONE11_8_,
user0_.USERNAME as USERNAM12_8_, user0_.VERSION as VERSION13_8_ from
USER user0_ WARN : org.hibernate.engine.jdbc.spi.SqlExceptionHelper -
SQL Error: 0, SQLState: 42703 ERROR:
org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ERROR: column
user0_.id does not exist Position: 8 Jan 27, 2015 4:37:45 PM
org.apache.catalina.core.StandardWrapperValve invoke SEVERE:
Servlet.service() for servlet [appServlet] in context with path
[/readersocial] threw exception [Request processing failed; nested
exception is
org.springframework.dao.InvalidDataAccessResourceUsageException: could
not extract ResultSet; SQL [n/a]; nested exception is
org.hibernate.exception.SQLGrammarException: could not extract
ResultSet] with root cause org.postgresql.util.PSQLException: ERROR:
column user0_.id does not exist Position: 8 at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:304) at
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82)
at org.hibernate.loader.Loader.getResultSet(Loader.java:2066) at
org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1863)
at
org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1839)
at org.hibernate.loader.Loader.doQuery(Loader.java:910) at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355)
at org.hibernate.loader.Loader.doList(Loader.java:2554) at
org.hibernate.loader.Loader.doList(Loader.java:2540) at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370) at
org.hibernate.loader.Loader.list(Loader.java:2365) at
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:497) at
org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
at
org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:236)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1264) at
org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) at
org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573) at
org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:449)
at
org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:67)
at
org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:288)
at
org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at
java.lang.reflect.Method.invoke(Unknown Source) at
org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:442)
at
org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:427)
at
org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:381)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.data.repository.core.support.RepositoryFactorySupport$DefaultMethodInvokingMethodInterceptor.invoke(RepositoryFactorySupport.java:512)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:155)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodIntercceptor.invoke(CrudMethodMetadataPostProcessor.java:111)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy36.findAll(Unknown Source) at
com.software.booksocial.service.jpa.UserServiceIml.findAll(UserServiceIml.java:25)
at
com.software.booksocial.controller.UserController.list(UserController.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at
java.lang.reflect.Method.invoke(Unknown Source) at
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721)
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:78)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1033)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
at
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
2015 年 1 月 27 日下午 5:00:48 org.apache.catalina.core.StandardContext
重新加载信息:重新加载名称为 [/readersocial] 的上下文已开始
2015 年 1 月 27 日下午 5:00:48 org.apache.catalina.core.ApplicationContext
日志信息:销毁 Spring FrameworkServlet 'appServlet' 信息:
org.springframework.web.context.support.XmlWebApplicationContext -
关闭命名空间“appServlet-servlet”的 WebApplicationContext:
启动日期 [ICT 2015 年 1 月 27 日星期二 16:37:28];父级:根
WebApplicationContext 2015 年 1 月 27 日 5:00:48 下午
org.apache.catalina.core.ApplicationContext 日志信息:关闭 Spring
根WebApplicationContext信息:
org.springframework.web.context.support.XmlWebApplicationContext -
关闭根 WebApplicationContext:启动日期 [1 月 27 日星期二 16:37:17
信息通信技术2015];上下文层次结构的根 Jan 27, 2015 5:00:48 PM
org.apache.catalina.loader.WebappClassLoaderclearReferencesJdbc
严重:Web 应用程序 [/readersocial] 注册了 JDBC 驱动程序
[org.postgresql.Driver] 但在网络时无法注销它
应用程序被停止。为了防止内存泄漏,JDBC 驱动程序具有
被强制注销。 2015 年 1 月 27 日 5:00:56 下午
org.apache.catalina.core.ApplicationContext 日志信息:无 Spring
在类路径上检测到的 WebApplicationInitializer 类型 2015 年 1 月 27 日
5:00:56 PM org.apache.catalina.core.ApplicationContext 日志信息:
初始化Spring根WebApplicationContext信息:
org.springframework.web.context.ContextLoader - 根
WebApplicationContext:初始化开始信息:
org.springframework.web.context.support.XmlWebApplicationContext -
刷新根 WebApplicationContext:启动日期 [1 月 27 日星期二
17:00:56 ICT 2015];上下文层次结构的根 INFO :
org.springframework.beans.factory.xml.XmlBeanDefinitionReader -
从 ServletContext 资源加载 XML bean 定义
[/WEB-INF/spring/root-context.xml] 信息:
org.springframework.beans.factory.xml.XmlBeanDefinitionReader -
从类路径资源加载 XML bean 定义
[datasource-tx-jpa.xml] 信息:
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
- 找到 JSR-330 'javax.inject.Inject' 注释并支持自动装配警告:org.hibernate.ejb.HibernatePersistence - HHH015016:
遇到已弃用的 javax.persistence.spi.PersistenceProvider
[org.hibernate.ejb.HibernatePersistence];使用
相反,[org.hibernate.jpa.HibernatePersistenceProvider]。信息:
org.springframework.web.context.ContextLoader - 根
WebApplicationContext:初始化于 1 月 27 日 13934 毫秒完成,
2015 5:01:10 PM org.apache.catalina.core.ApplicationContext 日志信息:
初始化 Spring FrameworkServlet 'appServlet' 信息:
org.springframework.web.servlet.DispatcherServlet - FrameworkServlet
“appServlet”:初始化开始信息:
org.springframework.web.context.support.XmlWebApplicationContext -
刷新命名空间“appServlet-servlet”的 WebApplicationContext:
启动日期 [ICT 2015 年 1 月 27 日星期二 17:01:10];父级:根
WebApplicationContext 信息:
org.springframework.beans.factory.xml.XmlBeanDefinitionReader -
从 ServletContext 资源加载 XML bean 定义
[/WEB-INF/spring/appServlet/servlet-context.xml] 信息:
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
- JSR-330“javax.inject.Inject”注释已找到并支持自动装配信息:
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
- 映射“{[/users],methods=[GET],params=[],headers=[],consumes=[],products=[],custom=[]}”
到 public java.lang.String
com.software.booksocial.controller.UserController.list(org.springframework.ui.Model)
信息:
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
- 映射“{[/],methods=[GET],params=[],headers=[],consumes=[],products=[],custom=[]}”
到 public java.lang.String
com.software.booksocial.HomeController.home(java.util.Locale,org.springframework.ui.Model)
信息:
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
- 寻找@ControllerAdvice:命名空间“appServlet-servlet”的WebApplicationContext:启动日期[Tue Jan 27 17:01:10 ICT 2015];
父级:根 WebApplicationContext 信息:
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
- 寻找@ControllerAdvice:命名空间“appServlet-servlet”的WebApplicationContext:启动日期[Tue Jan 27 17:01:10 ICT 2015];
父级:根 WebApplicationContext 信息:
org.springframework.web.servlet.handler.SimpleUrlHandlerMapping -
将 URL 路径 [/resources/**] 映射到处理程序
'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0'
信息:org.springframework.web.servlet.DispatcherServlet -
FrameworkServlet“appServlet”:初始化在 1486 毫秒内完成
27, 2015 5:01:12 PM org.apache.catalina.core.StandardContext 重新加载
信息:重新加载名称为 [/readersocial] 的上下文已完成
我没有使用 spring data jpa 从 UserController 的表 USER 中获取所有用户。谢谢你的帮助。