`

Spring小综合Demo,ITEye处女贴,求围观。

阅读更多
1) 咱们Spring板块还是很热闹的,一帮朋友都在积极努力的发教程,
特别是"jinnianshilongnian"(他的ID有点雷人)兄弟的帖子,我也一直在关注。
我也来发一个我的写的小例子。希望对使用Spring,SpringMVC,SpringSecurity,SpringDataJpa
的新手有点帮助。

2) 这是一个小的web程序,就像手机电话本。保存你的联系人到数据库。
没有啥业务不业务的,完全就是简单的CRUD

2.1 麻雀虽小,框架不少
Spring 3.1.1
SpringMVC 3.1.1
SpringSecurity 3.1.0
Hibernate 4.1.2 (实际上我用的是JPA2.0,Hibernate的API我一个都没有用到)
SpringDataJpa 这个玩意也是Spring的姊妹项目,比较有意思,它根据Dao接口所定义的方法名称来猜测你
的需求,用代理方式帮你生成实现类。所以用了它以后,我的小项目里Dao的实现类就不写了。
Apache-tiles  这个是来做JSP页面布局的,我用到了
Hibernate-Validator JSR303的实现,用来做后端数据验证

2.2 现在这个项目有两个账户 (用户名:密码)
admin : admin
yingzhor : kelly
admin是管理员,yingzhor是一般用户。管理员可以锁定/解锁其他用户,锁定一般用户以后,该一般用户就无法登陆了。

2.3 几个预览图






3) 附件下载
数据库脚本 (me_sql.zip) (MySQL5.1)
项目源代码 (me.zip)
请注意,我使用的是Mave多模块工程,导入Eclipse时,请确保你的eclipse安装了m2eclipse插件。


4) 初次发帖,请多关照。有bug啥的,请轻喷。
  • me.zip (823.7 KB)
  • 下载次数: 1874
分享到:
评论
15 楼 yingzhor 2013-02-26  
Alors 写道
运行出来了。你里面一个注释也没有,


一年以前随手写的,没什么注释,不好意思。
14 楼 Alors 2013-02-25  
运行出来了。你里面一个注释也没有,
13 楼 liuxiang00435057 2012-10-10  
权限能再细化就好了
12 楼 yingzhor 2012-07-08  
我查看了一下,maven中央仓库的hibernate-validator.4.2.0.FINAL好像是不能下载了。

请尝试一下。

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator-tck-runner</artifactId>
    <version>4.3.0.Final</version>
</dependency>
11 楼 yingzhor 2012-07-08  
请加我qq 23007067
10 楼 hxhnarkissos 2012-07-08  
yingzhor 写道
你说的是hibernate-validator没有正确在maven本地仓库安装。

让maven重新尝试下载一下就好了。


之前按了一个maven,在myeclipse运行了一下,发现maven-compile不知道为什么不能用,删掉,重新下载解压安装了一个,maven-compile插件可以了,不过这个validator的bean始终是报错,而且抛出的是找不到jdk自带的类

下载下来的3个pom.xml全部报错,没办法自己一个一个的引包,缺哪个就去官网下载对应版本的,最后就这个validator的不行
9 楼 yingzhor 2012-07-08  
你说的是hibernate-validator没有正确在maven本地仓库安装。

让maven重新尝试下载一下就好了。
8 楼 hxhnarkissos 2012-07-08  
只要加上那个validator bean就报错,必须把这个bean注释掉,并且把上面引用的也注释掉

Related cause:
org.springframewo
rk.beans.factory.CannotLoadBeanClassException: Error loading class [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean] for bean with name 'validator' defined in class path resource [spring-mvc.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1265)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1331)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:317)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:396)
	at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1164)
	at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:275)
	at org.springframework.web.servlet.handler.AbstractHandlerMapping.detectMappedInterceptors(AbstractHandlerMapping.java:212)
	at org.springframework.web.servlet.handler.AbstractHandlerMapping.initApplicationContext(AbstractHandlerMapping.java:186)
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initApplicationContext(AbstractHandlerMethodMapping.java:88)
	at org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:119)
	at org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:72)
	at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73)
	at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:117)
	at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:92)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
	at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
	at javax.servlet.GenericServlet.init(GenericServlet.java:160)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5026)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2901)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1170)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
	at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283)
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254)
	... 49 more
Caused by: java.lang.ClassNotFoundException: javax.validation.ValidatorFactory
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
	... 61 more
7 楼 yingzhor 2012-07-08  
呵呵。 兄弟好细心啊。 佩服!

"org.springframework.beans.factory.map.UnmodifiableMapFactoryBean" 是我自己扩展的。
在me-framework子项目里。

源代码请查看。

IE9 显示不正常的问题谢谢指教。 是我一时失误。
6 楼 hxhnarkissos 2012-07-08  
在IE9下不居中先是登录框需要在login.jsp上添加
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 楼 hxhnarkissos 2012-07-08  
最后在IE9下发现页面显示不正常
4 楼 hxhnarkissos 2012-07-08  
在配置文件spring-beans.xml中的
<bean id="constant" class="org.springframework.beans.factory.map.UnmodifiableMapFactoryBean">
spring-beans.jar里面就没这个类,从2.5.6到3.1.1都是没有的,你这个是怎么加上去的
3 楼 myemptyname 2012-06-05  
美女程序员
2 楼 yingzhor 2012-05-07  
引用

你的 SpringMVC杂记 写的也挺好的嘛!

谢谢鼓励。
1 楼 rensanning 2012-05-07  
你的 SpringMVC杂记 写的也挺好的嘛!

相关推荐

Global site tag (gtag.js) - Google Analytics