Hi all,

Greetings to everybody.

This is regarding developing enterprise integrated applications in Java using Spring framework.

I am new to Java and also Spring framework. Right now, I am working as a software developer mainly in perl and shell scripting in my organization where I develop lots of scripts ( mostly console based ) mainly in perl on windows and unix environment to integrate different applications and tools together.

While I have developed significant scripts in perl, I would like to now move to Java and choose it as the preferred language for modifying existing and developing new enterprise integration scripts.

I didn't have any working experience on Java language but I am ready to learn it and also Spring framework.

Specifically I am looking for the following features through Java.

1. Support for developing programs that runs as a service.
2. Support for developing multi-threaded programs
3. Support for messaging and clusters in the application
4. Last but not the least, provision for developing either console / desktop GUI / website based application.

Having mentioned that, please help and suggest me with the learning curve specifically with the following.

1. The version of Java I should start learning and any specific resources.
2. As Java can be used in many scenarios, which are the areas in Java I should concentrate on which would help me in development enterprise integrated applications ?
3. Last but not the least, when should I start learning Spring framework ?

Regards,
Amit Saxena