1
qiayue 2014-06-27 15:57:22 +08:00 1
|
2
yanerweb OP @qiayue 谢谢,但本人只懂最基本的语法 Basic、PHP 的语法,Java 也是当 Basic 使用的。看不懂 Object、继承、注入什么的,特别是所谓的 ”依赖注入”。
另外,基础过 .net 、php 、等等 web项目,也没有过依赖注入,网站照样跑跑的妥妥的。 |
3
rails3 2014-06-27 16:09:42 +08:00 1
spring 包含7搭模块 http://www.ibm.com/developerworks/cn/java/wa-spring1/
|
4
rails3 2014-06-27 16:11:10 +08:00
7个模块可能都会用到。
|
5
yanerweb OP @rails3 谢谢,本人只懂 if 、else 、for 这3个语句,用这3个语句开发了很多网站。不知道 spring 的所谓依赖注入是什么概念? 我开发留言板的话,能用吗?用在哪?
----------------------------------------------------------------- 我现在的理解是: spring 的依赖注入,能帮你不用修改源码,就可以指定方法(接口)要执行哪些代码。 ----------------------------------------------------------------- 但感觉,开发 留言板 用不上呀。难道好处就是不用修改 java源码,去修改 xml 吗? |
6
yanerweb OP 本人问题可能有些宽泛了,我具体不明白的是 spring 的核心功能呢,就是那个所谓的 “依赖注入” 是干什么用?
|
7
bigcoon 2014-06-27 16:19:23 +08:00 1
你发帖子的时间不如百度一下,然后写个DEMO什么的。
|
8
yanerweb OP @bigcoon 谢谢,本人只懂 java 的 if、else、for ,其他都不明白。但特别好奇大家总说的 spring 的 依赖注入,哈哈。百度上面都是 手册、例子也比较理论,我根本看不懂。
|
9
lightening 2014-06-27 16:24:43 +08:00 2
你接触 Java 13年了就只懂 if 、else 、for 这3个语句?!
你怎么做到的?! |
10
yanerweb OP @lightening 谢谢,因为所开发的网站(貌似不管多复杂的网站 都是 if 和 for ),都是 数据库的 增删改,按照 2000年的 ASP、PHP 语言 和 VB语言的思路写就完成了,从来没有用 Spring 的 IOC,也许项目中有 Spring 的框架,但是也没有 修改过吧。
|
11
Navee 2014-06-27 16:29:50 +08:00 1
|
12
rails3 2014-06-27 16:32:07 +08:00 1
@yanerweb
public class TestController { private ITestService testService; get method; set method; } TestServiceA, TestServiceB, TestServiceC 实现ITestService接口,testService属于三个实现类中的那个,由spring配置决定,这就是spring ioc |
13
incompatible 2014-06-27 16:36:04 +08:00 1
赞同11楼 @Navee
的确spring并非不可或缺 不过如果让我做留言板,起码事务管理和crud我会分别借助spring aop和spring jdbcTemplate实现 楼主可以把自己代码放出来,我来告诉你到底哪一部分可以用得上spring以便节省你的工作量或者让你的代码变得优雅 |
14
yanerweb OP @Navee 谢谢,您说的有道理,if、else 也能做。但特别好奇,大家总说的 SSH 中的 Spring 我一直也没有用到。开发留言板、开发表单提交,能用吗? 从事 Java 十几年了,如果我明白了 spring 的 IoC 是什么,就不会有遗憾了。
|
15
Navee 2014-06-27 16:37:11 +08:00
@incompatible 我觉得楼主的水平完全不用spring就能完成.
|
16
WildCat 2014-06-27 16:39:22 +08:00 via iPhone
汗,01年就接触Java竟然不知道Spring…
01年我小学三年级…… |
18
yanerweb OP 我对 Spring 的 IoC 的总结是:
---------------------------------------------------------------------- 不用修改 源码,而是修改 xml ,来改变程序的运行逻辑 ---------------------------------------------------------------------- 大家感觉对吗?精辟吗? |
19
xmuxsp 2014-06-27 16:47:48 +08:00
当你需要使用某个对象时,除了直接new一个,也可以假设你要的东西可以从当前类的构造函数的参数里去获得,不知道我理解的有没有错......
|
20
9hills 2014-06-27 16:48:35 +08:00
lz是来黑无误。。
|
21
Navee 2014-06-27 16:48:49 +08:00 1
@yanerweb 好比如你有两个类:
class A { private B b = new B(); } class B { public void sayHello(){ System.out.println("hello"); } } 这是传统的实现,A类中要调用B类的方法,必须有B的实例,所以A里面就创建了一个B的实例 下面说一下ioc是什么: 如果用ioc 依赖注入的思维来想这个,那么A类是依赖与B类的,因为这个地方没有了B类,new B将会不成立,虽然有了依赖注入,这个地方也会不成立,所以和ioc一起使用的就是接口: class A { private IB b; } interface IB{ public void sayHello(); } class B implements IB{ public void sayHello(){ System.out.println("hello"); } } 现在这样A类就不依赖与B类了,而是依赖与IB接口,现在要做的就是,把B的实例注入到A的b属性中 spring ioc在这段代码中的作用就是创建B实例,然后在创建A实例的时候将B的实例设置到A的属性b之中. 注意,这里的B实例,A实例并不是类似与上面那样我们手动new一个,而是通过spring 的BeanFactory创建的. |
23
incompatible 2014-06-27 16:54:48 +08:00
|
24
maikcn 2014-06-27 16:55:09 +08:00
Sping不能解决什么,它只能提供一种架构思维
比如IoC,能让用家忽略我调用的对象是怎么来的,要怎么new,用完以后又怎么样(因为生存周期给Spring管理了) 比如AOP,能让你忽然想在某个切面上添加一点小log而不用 find + replace 所有业务代码 如果做留言板之类简单的CRUD什么的小应用,完全不用也没关系 如果做分布式的大应用,那Spring提供了一些便于拆分和调用的思路和方法,当然不用Spring也完全可以有其他办法做到 |
25
wenLiangcan 2014-06-27 16:56:51 +08:00 1
推荐看看 Just Spring 这本书,很薄的,可能 60 页不到
|
26
solupro 2014-06-27 17:01:24 +08:00
说到依赖注入想到了一篇文章 http://coolshell.cn/articles/6950.html
|
27
maikcn 2014-06-27 17:02:57 +08:00
这样说吧,我理解的 IoC
就是可以让你代码中少写 new Object(xx,xx,xx) , 也能让系统运行时全局少一点用完即弃的对象,并且这些是面向接口的 |
28
vicalloy 2014-06-27 17:12:31 +08:00
楼主真是纯为黑spring而来的啊。
就我感觉spring是java界的“胶水”。 提供了很多非常好用的工具方法,让各种第三方包可以和谐相处。 AOP还是很好用,各类语言也都有类似的实现。Spring的AOP实现算是Java里面做的比较好的。 至于IoC... 我感觉这完全是Java世对构架走火入魔的产物。除非构架确实够复杂,不然大多情况下是完全没必要去做IoC的。很多时候所谓的可复用完全是臆想出来的,凭空把事情搞复杂了。 不过IoC的滥用也不能归结给spring。Java就喜欢讲构架。在spring出现前,很多人还在用更丑陋的方式实现类似的功能。 |
29
remnet 2014-06-27 17:17:39 +08:00
if else for……
情何以堪 |
30
dallaslu 2014-06-27 18:06:12 +08:00 1
Spring 是块万用插线板。所有的零件通过 Spring 统一管理,可做到根据需要随时替换。
你的组件所需要的零件,原本是在类内部自己创建,现在都由 Spring 来装配。组件需要 Spring “注入”所“依赖”的零件,把装配的权利交给外部的 Spring,也就是“依赖注入”,也叫“控制反转”。 |
31
xiaowangge 2014-06-27 18:21:31 +08:00
|
32
RisingV 2014-06-27 18:52:31 +08:00
|
33
qq2511296 2014-06-27 19:18:36 +08:00
先去了解下面向接口编程
然后再去了解spring 的aop 和ioc 的好处是什么 和你以前的开发会由什么不同…… spring也就是个框架 什么东西都能包容 可以很容易集成很多其他的开源框架 |
34
akfish 2014-06-27 19:33:59 +08:00
看了下lz的发帖、回帖记录,来黑的无误,好多人一本正经的上当鸟。。。
|
35
welsmann 2014-06-27 19:38:18 +08:00
lz你太无聊了..
|
36
Linxing 2014-06-27 20:21:39 +08:00
Spring 框架么?这个问题要怎么回答,你当然可以用 Spring 写个留言板,也可以不用,它只是个框架,提高开发效率而已
|
37
moroumo 2014-06-27 21:47:14 +08:00
春天已经过去了,现在是夏天了
|
38
falconeye 2014-06-27 23:10:14 +08:00
Expert One-on-One J2EE Development without EJB
|
39
harryhao 2014-06-27 23:37:50 +08:00
不是说不能用,只是框架这种东西是要你的代码规模大到一定程度才能真正体会到好与坏的。楼主说的略夸张吧,学了十年……
|
40
windyboy 2014-06-28 11:27:35 +08:00
spirng 做的事情很简单,也是所谓依赖注入做的事情。
spring 帮你把要做的事情搭一个架子,但最后要怎样完成这件事情,在运行的时候才决定 数据库连接是一个例子,程序需要数据库连接,需要连接管理,需要事务管理 无论你是用mysql/mssql/oracle,你可以在程序运行的时候才把具体的数据库告诉spring,也就是注入。 不需要在你的程序中去关注具体是什么数据库,每个数据库要如何获得连接,管理事务等等 |
44
WhatIf 2014-10-14 05:52:42 +08:00 via Android
Spring是用来黑EJB的
申明式事务,容器管理生命周期,横切面等等 为了黑人家,把主流的工具又封装了一遍,弄了很多统一接口 看不起checked异常,把人家辛辛苦苦设计的异常都隐藏起来,搞成runtime |