Talk:Spring Framework
This article is rated C-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||
|
What happened to this talk page?
editMathiastck 20:51, 23 August 2006 (UTC)
—Preceding unsigned comment added by 122.161.127.238 (talk) 05:24, 23 January 2008 (UTC)
- The old one is here: Talk:Spring_framework.—Tokek 11:11, 24 March 2007 (UTC)
This is a verbose and surprisingly useless article. — Preceding unsigned comment added by 198.179.137.254 (talk) 15:51, 24 October 2014 (UTC)
//Confused //
editI am probably one of the more experienced java programmers on wikipedia, yet this article is confusing even for a Linux using propellor-head such as myself. Maybe we could make it more concise, less buzzwordy, and shove in some basic examples to illustate its benefits?hari
OK- now I am off to plough through the docs on http://www.springframework.org/--Fergie 12:08, 31 October 2006 (UTC)
Key features
editWhat sounds like an advertisement? // Laughing Man 02:31, 27 January 2007 (UTC)
- Let's take the lead, for instance. It does not exactly look like an ad, but some expressions like these could be weeded out:
- "has become widely popular", "gained a lot of popularity" — I'm sure it is, but I'm also tempted to put a "citation needed" here
- "a lot of freedom" — freedom is too abstract a concept. What freedom? Freedom of speech/beer, freedom of calling JDBC directly, freedom of class A creating an instance of class B as opposed to Spring injecting B into A? Freedom to see what you binary is compiled from instead of AOP messing around? Spring rather helps developers by proposing programming discipline where appropriate.
- "easy to use solutions" — sounds like some marketing buzz. I never heard of a framework which does not claim to be easy to use.
- "recognized by vendors as a strategically important framework" — this is a bold statement and definitely needs a citation (somebody already marked it)
- On the other hand, the lead section does not say a word about dependency injection, which is the core principle in Spring's design. We also need to sort the paragraphs somewhat: a reader of the article would first be most interested to see what Spring is about and what it offers (a "glue" framework, an IoC container), then who wrote it and when the first releases came out, and finally, maybe some figures about popularity. I love the Spring framework, btw. --Cameltrader 07:29, 27 January 2007 (UTC)
- Agreed, this was what I was getting at in the comment above. Large chunks of the article are brochure language. Fergie 13:46, 31 January 2007 (UTC)
- Agreed. I’m placing a weasel template until this clears if no one objects. dmyersturnbull ⇒ talk 05:29, 17 December 2008 (UTC)
I've tried cleaning it up a bit, but I get the feeling my wording is a little clumsy. I'd try harder but I'm supposed to be working... :) --Zootm 11:49, 13 February 2007 (UTC)
Minor Issues
editWhat does By Imran Mirza near the end of the page mean? I'd normally remove it, since it doesn't seem relevant, but would like feedback first.
I completely agree with the discussion above about this page being "brochure-ware". Right now you don't get much idea of what the framework is really about.
Should move this article to Spring Framework
edit—Tokek 13:23, 29 April 2007 (UTC)
Added an entry at Wikipedia:Requested moves for Spring Framework (Java) → Spring Framework. —Tokek 23:41, 29 May 2007 (UTC)
--122.182.6.210 (talk) 10:25, 20 April 2012 (UTC)== Subjectiveness ==
As pointed out in the talk page of the old spelling, I also find this article extremely subjective and advertising. It stresses the advantages and states opinions of people who are convinced by it using subjective phrases. To me it seems like it was written by one of the developers of the framework. If someone who is familiar with the technology and with its advantages and disadvantages can rephrase it, please help out by doing so. --Shepard 16:27, 4 July 2007 (UTC) spring tutoriall
blah
editthe paragraph under "Introduction to the Spring Framework" means nothing. (anonymous) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
whatever
editI don't know who deleted the blurb I wrote on this page earlier, but I think it would be helpful to compare and contrast an application written in a traditional j2ee application server versus one using Spring's IoC container. In old school j2ee, client programs (usually servlets) use jndi, home and remote interfaces, and wire protocols (rmi, iiop, etc) to remotely invoke methods on singletons sitting in a middleware server somewhere on your network. Spring, on the other hand, transparently injects instances of your singletons into your dependent classes. This makes the most sense when there is only one physical machine involved, although spring also has a clustering technology called terracotta.
Spring is much larger in scope than just its IoC container, but I think that's the part that sets it apart from standard application servers.
I think it's also important to note that while spring IoC isn't "married" to any particular persistence or mvc frameworks, some have much better integration than others. A typical spring application uses the IoC container, SpringMVC, Hibernate for persistence, and Acegi security -- just because those are the best supported by the spring framework and require the least amount of work.
I'm not proposing to edit the page, but this is the talk page, and I think it was just wrong to delete my opinions and questions. What kind of discussion is that??? --Scrybz (talk) 01:26, 5 December 2008 (UTC)
Fair use rationale for Image:Spring Framework.jpg
editImage:Spring Framework.jpg is being used on this article. I notice the image page specifies that the image is being used under fair use but there is no explanation or rationale as to why its use in this Wikipedia article constitutes fair use. In addition to the boilerplate fair use template, you must also write out on the image description page a specific explanation or rationale for why using this image in each article is consistent with fair use.
Please go to the image description page and edit it to include a fair use rationale. Using one of the templates at Wikipedia:Fair use rationale guideline is an easy way to insure that your image is in compliance with Wikipedia policy, but remember that you must complete the template. Do not simply insert a blank template on an image page.
If there is other fair use media, consider checking that you have specified the fair use rationale on the other images used on this page. Note that any fair use images uploaded after 4 May, 2006, and lacking such an explanation will be deleted one week after they have been uploaded, as described on criteria for speedy deletion. If you have any questions please ask them at the Media copyright questions page. Thank you.
Please don't say Inversion of Control if you mean Dependency Injection - IoC is vague.
editThere are several meanings for Inversion of Control. Un-inverted code has a beginning and an end and it manipulates data in an orderly fashion in-between. IoC can mean that the data triggers certain things to happen in the code; there is no beginning or end, only data flying by and things happening. While this can be very useful for multi-threading and a lot of fun to learn to write, it requires that any would-be maintainer be aware of every possible variation of input data in order to determine exactly how the code can behave. In most business settings, anticipating all details of future data variation is impossible, making this kind of IoC a very poor choice for "business logic".
I think you mean specifically that Spring uses a form of IoC called Dependency Injection. Instead of Spring looking for configuration, you pass configuration into it. If that is the case, please say so in the article. I personally have avoided Spring for at least 2 years because I was put off by what I thought the IoC aspect of Spring meant. --GlenPeterson (talk) 02:19, 10 March 2009 (UTC)
- Actually, it is indeed an IoC container. Dependency Injection is just one type of IoC, the other being - of course - Dependency Lookup. And your understanding of Inversion of Control seems a little weak. It's called an "inversion" of control because classes don't need to be concerned about creating specific types of objects - instead you can declare an interface or abstract type and control is provided to the factory, dependency lookup or dependency injection mechanism to create the dependent objects. The control has been inverted away from the class to another mechanism which does it for the class, which means that the class can satisfy the single responsibility principle.
- Interestingly, the way that Spring implements IoC via Dependency Injection is precisely what I like about it. If you use dependency lookup then you have to make specific calls to lookup the dependency. This, to my mind, is not ideal as it's giving me a tighter coupling in my code than I'd like. Of course, it's still better than not inverting control at all, but to my mind - why not just use the container to inject in dependencies for you?
- However... that said, you can in fact implement dependency lookup if you implement the
BeanFactoryAware
orApplicationContextAware
interfaces. In some cases, it becomes necessary to do this - mainly around bean scoping issues (though you can do method injection... but I'm not such a big fan of this). - 114.76.227.0 (talk) 06:44, 14 January 2012 (UTC)
Names
editSmall point, but I think it would be better to refer to The Spring Framework once, at the intro section, then simply as Spring everywhere else, as it would make for much less awkward phrasing. — M3TA(info) @ 07:50, 3 March 2010 (UTC)
Spring MVC?
editSpring Framework == Spring MVC? Thanks, --Abdull (talk) 17:48, 25 June 2011 (UTC)
Spring MVC is a subset of The Spring Framework Weston.pace (talk) 12:29, 20 September 2011 (UTC)
Reference
editThe first reference links to the Spring.net framework, used in .net Sanjeev Gupta.... — Preceding unsigned comment added by 122.180.143.86 (talk) 11:53, 8 May 2013 (UTC)
Spring 4.0
edit"Spring Framework 4.0 was released in September 2013[6] with support for Java SE 8, Groovy 2, some aspects of Java EE7, and WebSockets."
Where does it say so? I only see an announcement that those are in the plans, and the release of 4.0 milestone 1 and 2. 4.0 has not been released. — Preceding unsigned comment added by Slsh (talk • contribs) 07:34, 13 September 2013 (UTC)
Regarding the Criticism Section
editI feel it is so vague that it is applicable to any framework or language. As a response to the lack of coherent philosophy (the current criticism), it is well known that Inversion of control and decoupling has been core to spring's philosophy
- A nice reminder from 2009 here --> http://stackoverflow.com/questions/1610691/spring-philosophy
A realistic criticism of the framework would be the amount of time it takes to create and wire up a project; instead of, developing front-end features. --184.78.238.198 (talk) — Preceding undated comment added 21:58, 10 April 2014 (UTC)
Criticisms Section
editThe criticisms collection is a joke. First off, it's one sentence. The main issue is it provides no information. Who/what group is making this accusation? At least one example should be mentioned to substantiate the point, irregardless of who is actually making the assertion that Spring is inconsistant.
We should take the section out or expand on it.
Just abstract buzzwords that need explaining
editI'm trying to work out what spring is, and this isn't helping. I'm a DB guy so at least I should be able to understand the DB section <https://en.wikipedia.org/wiki/Spring_Framework#Data_access_framework>. So then
> For all of these supported frameworks, Spring provides these features
OK, go on please...
> Resource management - automatically acquiring and releasing database resources
What DB resources am I likely to need other than a DB connection through which I run SQL? (usually a stored proc)
> Exception handling - translating data access related exception to a Spring data access hierarchy
What does this even mean?
> Transaction participation - transparent participation in ongoing transactions
What is transparency here? Why would I want to participate in a transaction? (they're ACID atomic, right? I know in special cases they can be left open and TXID passed around for very specialised purposes, but that's never happened in my career, nor heard of it from anyone else). And what's an 'ongoing transaction' as opposed to a transaction?
> Resource unwrapping - retrieving database objects from connection pool wrappers
What resource? Why unwrap it? What's a database object here - data returned or some DDL construct? Why does the app developer get involved in the connection pool?
> Abstraction for binary large object (BLOB) and character large object (CLOB) handling
What $%^&*ing abstraction, and why abstract - don't tease me!
EJB misinfo
editSpring has nothing to do with EJB. EJB is for all intents and purposes dead. IOC largely met the dreams that EJB being over-engineered could not. Can we just remove that from the article? (I've been using Spring since it first came out.) Bluejaguar~enwiki (talk) 22:50, 24 January 2024 (UTC)