再说spring比较重,臃肿的看此文!!!!!
再说spring比较重,臃肿的看此文!!!!!
光石头 发表于5年前
再说spring比较重,臃肿的看此文!!!!!
  • 发表于 5年前
  • 阅读 1665
  • 收藏 13
  • 点赞 1
  • 评论 18

 

springrain地址:http://git.oschina.net/chunanyong/springrain

spring的强大灵活+jfinal的开发效率!

我的博客:http://www.weicms.net/2012/12/14/spring_super.html

 

在ssh中,我认为spring是唯一值得用的框架

spring mvc 的优点可以自行在网络搜索,特别是3.0之后......我不认为spring 的controller会比其他的差!!!!

spring的良好的扩展性,集成度,IOC,AOP事务,已经是项目的基础条件

我实在无法忍受各种软文说spring 太厚重,臃肿了.以下代码是我的测试用例.我还真是没明白,spring复杂到哪了!!!

controller service  dao Entity 都使用注解,就极简而言,一个数据库只需要一个Dao,一个Service 而已!!!

//就极简而言,一个数据库只需要一个Service,就可以查询这个数据库的任意一张表
//@Test 返回一个基本类型
public void testObject() throws Exception{
	Finder finder=new Finder("select id from [Users] where 1=1 ");
	finder.append("and userId=:userId").setParam("userId", 125);
Integer id = baseFangService.queryForObject(finder, Integer.class);
System.out.println(id);

}


//@Test 返回一个Entity
public void testObjectUser() throws Exception{
	Finder finder=new Finder("select * from Users where id=125 order by id");
	Users u = baseFangService.queryForObject(finder, Users.class);
    System.out.println(u.getName());

}
//@Test 调用存储过程并返回 Map
public void testProc() throws Exception{
	Finder finder=new Finder();
	finder.setParam("unitId", 0);
	finder.setProcName("proc_myproc");
	Map queryObjectByProc = (Map) baseFangService.queryObjectByProc(finder);
	System.out.println(queryObjectByProc.get("#update-count-10"));
	
}
//@Test 调用数据库函数,并返回结果
public void testFunction() throws Exception{
	Finder finder=new Finder();
	
	finder.setFunName("fun_userId");
	finder.setParam("userId", 125);
	String userName= baseFangService.queryForObjectByByFunction(finder,String.class);
	System.out.println(userName);
	

}

//@Test  保存一个对象
public void testRoleModel() throws Exception{
		Re_Role_Model re=new Re_Role_Model();
		re.setRoleId("user");
		re.setBool(1);
		baseFangService.save(re);
	
	
}
共有 人打赏支持
光石头
粉丝 313
博文 92
码字总数 17546
作品 2
评论 (18)
litescript
Spring实在太优秀
阿伏流
同意。spring一直没丢。
光石头

引用来自“litescript”的评论

Spring实在太优秀

我的spring极简封装Eclipse项目已经上传到http://www.9iu.org/2012/12/14/spring_super.html 了,希望大家下载留言,多提意见.
光石头

引用来自“杜宏浩”的评论

同意。spring一直没丢。

我的spring极简封装Eclipse项目已经上传到http://www.9iu.org/2012/12/14/spring_super.html 了,希望大家下载留言,多提意见.
阿伏流

引用来自“屁屁果”的评论

引用来自“杜宏浩”的评论

同意。spring一直没丢。

我的spring极简封装Eclipse项目已经上传到http://www.9iu.org/2012/12/14/spring_super.html 了,希望大家下载留言,多提意见.

你这个博客的用的rhcloud?
光石头

引用来自“杜宏浩”的评论

引用来自“屁屁果”的评论

引用来自“杜宏浩”的评论

同意。spring一直没丢。

我的spring极简封装Eclipse项目已经上传到http://www.9iu.org/2012/12/14/spring_super.html 了,希望大家下载留言,多提意见.

你这个博客的用的rhcloud?

嗯,openshift
阿伏流

引用来自“屁屁果”的评论

引用来自“杜宏浩”的评论

引用来自“屁屁果”的评论

引用来自“杜宏浩”的评论

同意。spring一直没丢。

我的spring极简封装Eclipse项目已经上传到http://www.9iu.org/2012/12/14/spring_super.html 了,希望大家下载留言,多提意见.

你这个博客的用的rhcloud?

嗯,openshift

哈哈,乍一看是英文版的wp,就想起来rhcloud提供的是英文的wp。然后pin了下,是亚马逊的机房,就更肯定了。话说wp可以改一个配置,重新安装变中文的,数据不丢失。
光石头

引用来自“杜宏浩”的评论

引用来自“屁屁果”的评论

引用来自“杜宏浩”的评论

引用来自“屁屁果”的评论

引用来自“杜宏浩”的评论

同意。spring一直没丢。

我的spring极简封装Eclipse项目已经上传到http://www.9iu.org/2012/12/14/spring_super.html 了,希望大家下载留言,多提意见.

你这个博客的用的rhcloud?

嗯,openshift

哈哈,乍一看是英文版的wp,就想起来rhcloud提供的是英文的wp。然后pin了下,是亚马逊的机房,就更肯定了。话说wp可以改一个配置,重新安装变中文的,数据不丢失。

额,我的就是中文版的wp啊!
xmqywx
博客登不上了,502报错捏
光石头

引用来自“xmqywx”的评论

博客登不上了,502报错捏

嗯,感谢 gfw.
xmqywx

引用来自“屁屁果”的评论

引用来自“xmqywx”的评论

博客登不上了,502报错捏

嗯,感谢 gfw.

加个jfinal的标签吧,很有学习意义
南湖船老大
原样导入后报错了
SEVERE: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
  at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172)
  at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1078)
  at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1052)
  at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1000)
  at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:548)
  at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142)
  at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4831)
  at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5478)
  at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
  at java.util.concurrent.FutureTask.run(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
南湖船老大
已解决,class下没有编译,新建工程就好了
光石头

引用来自“Roger蛋蛋”的评论

已解决,class下没有编译,新建工程就好了

我目前的版本结合代码脚手架,已经可以直接生成常用功能了,过几天再发上去吧
唐海康
博主这是反讽的意思吗……这么多的代码你不觉得太长太多了吗……
光石头

引用来自“唐海康”的评论

博主这是反讽的意思吗……这么多的代码你不觉得太长太多了吗……

请教你的系统总共几行代码啊?
光石头

引用来自“Roger蛋蛋”的评论

已解决,class下没有编译,新建工程就好了

0.2版本发布了,重大更新!!
哈库纳
Spring 本身不臃肿,觉得它臃肿是由于在分析 Spring 代码时候感觉上层次过深而导致的,这个问题是思维习惯和思维方式导致的。

国内人没有那种全部面向接口编程的习惯,所以觉得 Spring 代码臃肿。说到底是文化不同导致的。

不过个人觉得,Spring 本身已经是一套非常完备的体系。真的没有必要在进行二次封装。我是从两个方面考虑的:
1.Spring 本身提供了一种编程方式,遵循约定的编程方式可以极大的减少开发成本。二次封装之后相当于为开发者又提供了另外一套编程风格,这会使开发者陷入两套编程方式的思维混乱。
2.Spring 已经很完备,包括IDE在内都已经形成一整套体系,真的没有必要在进行二次封装。目前个人觉得有价值的也就是 @江南白衣 的 JavaEE参考示例 SpringSide
×
光石头
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: