I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Spring IDE and the Spring Tool Suite - Using Spring in Eclipse

01.10.2014
| 513627 views |
  • submit to reddit

Comments

Sudip Verma replied on Thu, 2008/07/31 - 4:57am

Hi,

I am not able to download the springID update, so caould not process furthe.Can anybody help regarding this?

Glen Ihrig replied on Tue, 2008/08/19 - 5:55pm

Over all, a very helpful tutorial

There seems to be a growing recognition among tutorial authors that Spring is in need of a light-weight introduction. This is a very good sign as it suggests that Spring may truly be accessible to the 'every-day' Java developer, shattering the common belief that frameworks (including Spring) are for enterprise gurus. (Silly developers ;-)

This is the third basic Spring tutorial I have attempted, and the first I have been able to get working. Thanks - I now have reason to believe that I too will realize the benefits of Spring.

This tutorial does have a few issues that had me wondering if I was ever going to get the tutorial, and Spring, to work. Here are the problems I encountered and the solutions that got it working for me.


Creating a New Project

There is no instruction, beyond "use the New Spring Project wizard" on how to start this wizard. Some familiarity with Eclipse is assumed. Of course, a greater knowledge than this will be required to work with Java and Spring later on. Still File->New->Other opens the screen shot shown in the tutorial.

No Project Name is provided. A project name of SpringTest is expected in later steps. Not knowing this caused me a lot of confusion and frustration, when I mistook "SpringTest" to mean ...com/eclipsezone/spring/test.

The paragraph on required libraries could be clearer. The required libraries and their locations (as of Spring 2.5.5) are:

spring-framework-2.5.5/dist/spring.jar
spring-framework-2.5.5/lib/jakarta-commons/commons-logging.jar
spring-framework-2.5.5/lib/cglib/cglib-nodep-2.1_3.jar

Object Creation

The text has no indication where to put the ISampleBean interface code. The following screen shot on creating the SampleBean class shows the Source folder and Package which describe this.

.../SpringTest/src//com/eclipsezone/spring/test/ISampleBean.java

The SampleBean class is incorrectly named "SamplebeanImple" in the screen shot. It is later referred to as SampleBean.


Create a New Bean Definition File

Placing this file in the project root directory "SpringTest" is vital. 
Not knowing this caused me a lot of confusion and frustration, when I mistook "SpringTest" to mean
.../com/eclipsezone/spring/test.

The correct action is: Right click the project root folder, "SpringTest", and select New->Other->Spring->Spring Bean Definition to create the Spring Bean Definition file.

There is a minor typo following the XSD namespace declarations screen shot.

... As we are only using on configuration file, Should be:
... As we are only using one configuration file,


Add Method Interceptor

The code will not compile as listed for class Interceptor. The
"@Override"
annotation is wrong and should be removed. 

Not a problem with the tutorial, but I was unable to get the beanDefinition  xml editor to change the value associated with "value" elements.

e) property
a) name - interceptorNames
e) list
e) value - interceptor

Right clicking the value element provides no "Edit Attribute" function.

The solution I used was to open the beanDefinition.xml file in Source view with the tab at the lower left corner of the editor window, and paste in the code from the tutorial.


Spring Explorer

The paragraph following the Show View screen shot would benefit from a little reorganization:

In this view you can easily add in Config Sets or single Config Files. If you right click on the Config File and choose View Graph, you get to see a nice representation (using Eclipse's GEF) of your Spring configuration file ...

Suggest:

If you right click on the Config File in this view and select Properties, you can easily add in Config Sets or single Config Files.  Choose Open Graph, and you get to see a nice representation (using Eclipse's GEF) 
of your Spring configuration file ...

--------------------

The bottom line is, I got my first working understanding of Spring AOP and Interceptors from this tutorial and I am grateful for that.

Four stars (would be worth five with the above issues fixed).

Thanks!

-Glen

William Willems replied on Mon, 2008/11/17 - 8:30am

Very nice intro to start using the features provided by the Spring IDE. I like it that it is pretty high level and shows some AOP stuff.

Giuseppe Zitelli replied on Mon, 2009/04/27 - 4:38am in response to: Sudip Verma

Hi. please try http://springide.org/updatesite/.

swati gudla replied on Wed, 2009/09/02 - 1:30am

Hello EveryOne,

I tried to download springIDE from the follwoing link  (http://springide.org/updatesite-dev).When i click on this link it gives an error back saying

<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>release/IDE-dev</Key>
<RequestId>536B0F024044807C</RequestId>

<HostId>
30YvYelUJVb04zlb6uM+2FSFx+xK8/+xh2x6/Z/VLvQwhzqL0fOeaIdFrDhgXs18
</HostId>
</Error>

Please can someone send me the plgin if some body has it..

I would really apprecitae if some one can send me a reply back..

Thanks,

swati

sachin todkar replied on Fri, 2009/10/30 - 12:23pm

Hi , I am getting the following error when I try to run this sample. I am new to java so apologize if this is silly. INFO: Bean factory for application context [org.springframework.context.support.FileSystemXmlApplicationContext@15eb0a9]: org.springframework.beans.factory.support.DefaultListableBeanFactory@72ffb Oct 30, 2009 1:25:04 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@72ffb: defining beans [com.eclipsezone.spring.test,com.eclipsezone.spring.aop.Interceptor,proxyBean]; root of factory hierarchy Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'proxyBean': FactoryBean threw exception on object creation; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class java.lang.String]: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Cannot subclass final class class java.lang.String at org.springframework.beans.factory.support.FactoryBeanRegistrySupport$1.run(FactoryBeanRegistrySupport.java:127) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:116) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:91) at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1288) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:217) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880) at com.eclipsezone.spring.test.Tester.main(Tester.java:22) Thanks, Sachin

sachin todkar replied on Fri, 2009/10/30 - 1:05pm in response to: sachin todkar

Please ignore this request I found the problem Thanks, Sachin

Freddy Cruz replied on Wed, 2009/12/16 - 5:17pm in response to: Glen Ihrig

Thanks for you support! I have 3 days reading the spring framework reference, and now...  i test my first project susscefully.

 I will go intro Spring world

Wp Moore-taylor replied on Thu, 2010/02/04 - 3:19am

Hi , I am getting the following error when I try to run this sample, any help would be good

 

INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@199f91c: defining beans [com.eclipsezone.spring.sample,interceptor,proxyBean]; root of factory hierarchy
3
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'proxyBean': FactoryBean threw exception on object creation; nested exception is java.lang.NoSuchMethodError: net.sf.cglib.proxy.Enhancer.setInterceptDuringConstruction(Z)V
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport$1.run(FactoryBeanRegistrySupport.java:127)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:116)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:91)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:217)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880)
    at spring.test.Tester.main(Tester.java:26)
Caused by: java.lang.NoSuchMethodError: net.sf.cglib.proxy.Enhancer.setInterceptDuringConstruction(Z)V
    at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:182)
    at org.springframework.aop.framework.ProxyFactoryBean.getProxy(ProxyFactoryBean.java:363)
    at org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstance(ProxyFactoryBean.java:317)
    at org.springframework.aop.framework.ProxyFactoryBean.getObject(ProxyFactoryBean.java:243)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport$1.run(FactoryBeanRegistrySupport.java:121)

Phil Hanchet replied on Wed, 2010/08/25 - 7:37am

Brilliant - thanks so much for this James - huge help on a massive topic Phil Hanchet OTG

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.