What should I know before learning Spring? [closed] - java

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Opinion-based Update the question so it can be answered with facts and citations by editing this post.
I've been learning Spring and I'm really liking what I'm learning, but feel ill-equipped to do anything at the moment. I know Java really well, I'm ok at ant, but I don't know anything about: J2EE, JSP, Servlets, Tomcat, Maven, Hibernate, JPA, and I've never made any kind of website using Java (I've made lots of applications in Java, but all websites I've made were using PHP).
Should I cement some of my knowledge of the "basics" or should I keep slogging away at Spring?

Spring is a monster. It all depends on what part of Spring you are interested in. A good starting point would be the Dependency Injection container, which requires none of the technologies that you are unfamiliar with (the ones from your question).
If you are interested in learning Spring MVC (which it sounds like you might be based on the technologies you mention), I would recommend learning the basics in these (again from your question):
Servlets
JSP
Tomcat (or another web application container)
For Spring MVC I would also look at the idea of RESTful web services.
You can find a (likely) comprehensive list of Spring projects at this link.

I would recommend three things:
Lots of Reading => Spring Documentation in a Single Page
Lots of Coding => You can start off by getting an example Spring / Hibernate project. And then use Spring Tool Suite, which includes many interactive tutorials, and template projects that just work without any coding at all.
Find a Spring User Group next to the place you live. If there is no such group => create one!
It is totally ok that you don't know JSP / Servlets / Tomcat / J(2)EE / etc. Extremely smart people who, for example, write Linux kernel (which is a lot more complex) may not know it as well. The beauty of Spring is that going through it, and reading about best patterns and approaches you'll get all the above. No need to learn J(2)EE separately. Spring is J(2)EE of today.

For a good enterprise developer, I would recommend
a) very very good core java ( including collections, jdbc , threads)
b) servlets
Then I think you can start diving into spring.

If you want to accomplish something quickly to start with, definitely look at JSPs. A JSP is basically an HTML document with some special <% %> tags where you can just shovel in java. It's really entertaining, although nothing you'd want to use for a large-scale application.

Related

Any recommendations for Scalable front end design methodologies (Spring Framework) [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I have some questions from UI folks #java technology
I have recently switched from php to java domain. Though I have good experience in front end theming work with CMS application driven by php.
Since, know i am very new to spring framework, and have developed an understanding with jsp files for the UI aspect.
If you may recommend, assist me or give suggestions... what best design ui practices can be followed to make the design live as consistent looking organism in the enterprise level application.
right now, bootstrap is css framework of choice...and is well adopted into application.
Sharing some details, though I find it very challenging to teach the java developers, the aspect of ui design... apart from their primary task of coding, building the logic from product owner requirements and UI inputs from wireframe screen...
as they are not visually inclined to 'pixel' based aesthetics... i have found interface does not come out well at places...and do not look very polished
and since there is resource crunch of good UI/UX foks who can solve their problems and apart from coding the best interaction in the application, new features ...blah etc.
Though, have started to train them slowly, repeatedly and steadily...on teaching them on how to reuse your css code, write efficient styles and to attain the level of well aligned and well thought placed pixels on screen/viewport.
What best or any training module i can bring on, so that they become self sufficient... for e.g. have been done also
http://slid.es/gauravmishr/introduction-to-css-for-jsp-developers
Will like to know your recommendation and thoughts, so that design scalability can be achieved.
Over to java ui/ux gurus :- )
maybe you should give Asual's Summer a try. It is a presentation layer library for Spring MVC. It allows you to reference resources from jars and thus makes modularization really easy. Most importantly for me, you write simple html5 with some custom tags and el expressions instead of JSPs. It also has support for resource caching and compression. Finally, you can prepare html templates to include in your views, thus increasing core reusability. I have used it extensively with twitter bootstrap and it works great.

Help me decide what to use with Google App Engine for this practical work [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I'm working on a practical work for college, and I have to develop a web-app that could be used by all the teachers from my province.
The application should let the users (teachers) manage some information related to their daily duties. One of the requirements is that I must use
Google App Engine platform for developing and hosting the web application.
I have 2 months to finish the work.
I have some intermediate knowledge of C++, so what language (Python or Java ) and web framework do you think would the best to
develop the application in less time?
I know this is not a strictly programming questions, but please don't delete this post at least until I get a
few answer in order to have an idea of how to proceed.
Many thanks in advance!
I would recommend using Python + Django framework. I love Java, but for the Google App Engine there is much more documentation online for Python.
I would recommend taking a look at Java + slim3. I have my own MVC framework for AppEngine (PhD thesis work), and I really wish I had started after slim3 came out. I'd be using it myself. I can't really speak vs using Python on AppEngine, but I don't think I'd recommend any other Java framework vs slim3. I've tried a few. As an example, I use Struts2 at work. I would not recommend Struts2 given your timeframe -- the learning curve would make your deadline ambitious. Part of this is just due to the fact that Struts2 isn't quite a full stack (saving data in AppEngine is a big deal when you are first learning), which makes only some documentation useful for your particular project. Slim3 sidesteps this by being explicitly targeted to AppEngine.
Go with python and default webapp framework . As you are new to both java and python. Appengine on python has been there for sometime, you will find lots of solution on python as it was introduced earlier. Learning curve is very small in python when compared to java according to me. Also go for eclipse with pydev plugin as your IDE. This will make your deployment and development much easier . Google 's own documentation is the best place to start.
All you need to do is spend some time reading the whole documentation patiently . Even i started with appengine very recently.

Java EE fast track (Learning Enterprise Java real fast) [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
We just started a new project in Java EE in our office and i am required to participate effectively. I mostly work on web applications and I use PHP/MySql but I also know Java SE and have written couple of standalone applications.
I need help and advise on how i can learn Java EE very fast so that I can blend into the project without difficulties. I need help with book & tutorial recommendations and also links to resources.
This vastly depends on your learning speed. What I do in such cases:
read small parts of tutorials in order to obtain a general idea of the technology
experiment, and whenever I don't understand something, I return to the tutorial, or google about the problem.
After creating a non-trivial, but still simple application with the technology in question, you can go to the real world. Still, there must be someone more familiar with it, whom you can ask.
For JavaEE I'd suggest the following exercise:
create a stateless EJB that starts an EJB timer. The timer has to fire on a configurable in the database period of time
the timer should send messages to a JMS Topic
the JMS topic should be consumed by a message-driven bean
the EJB should be called by a servlet, telling it whether to use the db-configured period of time, or use a default one.
the messages to the JMS topic should consist of the IDs of objects stored in the database
on receiving the IDs the MDB should increment some number of the object and persist it
use JPA for persistence.
Here, you'll have servlets, EJBs - stateless and message-driven, timers, JMS and JPA covered.
Refer to the Sun JavaEE tutorial and google anything you don't understand immediately.
To learn it fast use a IDE to do most of the config for you. netbeans works really well with a number of containers and relieves you from a lot of the config etc...
If you take a look on netbeans.org there are some really good short tutorials just to get you going.

sample java applications [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
.NET has codeplex for good sample applications to understand best practices. In Java, the first level of difficulty lies in finding a project with the frameworks you are interested to see implemented. In any case I've been unsuccessful in finding sample applications.
SourceForge.NET has many, but a lot of them are incomplete. Many other samples I find are only covering a CRUD - like Spring web site provides a CRUD, struts 2 provides a CRUD and I found some more here: http://www.learntechnology.net/content/main.jsp
None of them cover an application with decent level of complexity. I'm sure there are such projects, it's just my inability to find them.
Can someone provide the key for the treasure :-)
Edit: I got a comment asking me for specifics, so here it is:
I'm looking for a web application, built with a framework like Struts 2, Spring MVC (any action framework basically), Hibernate / Plain JDBC / JDBC templates in Spring at DAL, and no EJB's please!!
An application like bug tracker, blog template, inventory management etc.. anything that is non-trivial.
a good starting point might be appfuse it is really a sort of boot strap your project kinda thing. Make sure you go for the 'full-source' option at the end of the instructions.
As for features:
Security, with user and admin roles
Sign up
Email templates
How about the Java pet store reference implementation from the J2EE blueprints?
I guess the following link may be useful. It explains how to go about implementing a project using domain driven design
http://dddsample.sourceforge.net/index.html

noob project to learn Spring/Hibernate [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to get my feet wet with Spring/Hibernate. But I think I move along faster and am more motivated if I am working with code rather than just reading a book chapter by chapter.
Does anyone have any good ideas for a home project to work on to learn these technologies? Any exercises that you might have worked on and thought useful?
Or perhaps you know of a book/tutorial that is based on a single project and walks you through it?
AppFuse is a Spring & Hibernate app designed to be used as skeleton for new projects. Install it, run maven, you have a working project you can study, inspect, debug, modify or add to as you wish. I've worked on a couple of enterprise apps that started as AppFuse.
I hope you would have some existing applications, previously done with different tech and framework. The best is to implement those with Hibernate and Spring.
I suggest using Appfuse, too, as tpdi does. A couple of details:
Use "Spring MVC Basic" project;
start with the Quickstart, and stick to it;
when you're confident enough, go deeper with each technology / layer.
You will find yourself digging in documentation, but with an already working project. Appfuse ha very few "special" classes & utilities, once you master it you can anytime start from scratch... but it's easier with it ;)
You need something simple but not trivial and complex but not complicated.
Try making a timetabling system or calendar

Categories

Resources