Starting a Java project - IDE, Framework, etc.

I need support to speed up the development process. I received a request to start developing a website using Java technology. I usually develop in C # - ADO for Entities - ASP.NET MVC - MSSQL server - Visual Studio. Best of these options: - C # Intellisense. - ORM. - Full management of user security, roles. - Separation of problems in MVC.

I was wondering if anyone could help me determine the best Java MVC Framework - DB - IDE based on these premises, Start the project with: - Integrated security for users, roles - MVC

To shed more light to reproduce the same functions, I can launch a website every time using the C # ASP.NET MVC 2 project. Example http://nerddinnerbook.s3.amazonaws.com/Images/image020.png

+4
source share
5 answers

First, discuss IDE, ORM and security, and DB: In my opinion, IntelliJ IDEA is the best Java IDE. This is from the same people who developed Resharper for Visual Studio. It has the most powerful editor of all Java IDEs and has built-in support for many of the popular Java frameworks.

ORM: The most powerful ORM library in Java is Hibernate. Hibernate is an implementation of the Java Persistence API (JPA) standard. EclipseLink is another JPA implementation, but Hibernate is the best IMO option.

Security: Spring Security is perhaps the most powerful security infrastructure (authentication and authorization) available in the Java world.

DB: If you are comfortable working with SQL Server, continue to use this. However, do not use Microsoft JDBC drivers. Instead, use the DataDirect driver: http://web.datadirect.com/products/jdbc/index.html . If you do not want to use SQL Server, MySQL is an excellent choice for FOSS, and Oracle, DB2, etc. - these are other options.

There are several options for web infrastructure:

Option 1: if you need a RAD style frame, select Grails. Grails is similar to Ruby on Rails, but uses a JVM and Java-like, but dynamic language called Groovy. The ORM Grails API is called GORM, which is built on top of Hibernate, but is much easier to use. Grails also uses Spring Security to manage security.

Option 2: If you need enterprise-level infrastructure, select JBoss Seam + JavaServer Faces. JSF is a component-based MVC framework, and many great JSF libraries are available for use: RichFaces, OpenFaces, etc. Seam combines JSF with EJB, and together they create an excellent corporate infrastructure. However, it has a steep learning curve.

Option 3: use Spring + SpringMVC + JPA.

Option 4. Use Struts 2.

Concluding remarks. If you are looking for an easy-to-use MVC + ORM framework, use Struts 2 + JPA. If you are looking for RAD and the easy-to-use MVC + ORM framework, use Grails. If you are looking for a reliable and enterprise-oriented (but not easy to learn) structure, use JBoss Seam.

+4
source

Not only Spring MVC, but the entire Spring eco system will work with the least surprises. You can also download the Spring Tool Suite (a pre-configured version of the eclipse adapted for Spring) to get an integrated development environment that knows everything about Spring.

But Spring - Spring MVC - Hibernate - Spring Security and STS seem to meet your needs and provide a solid foundation for the project to run without much hassle. This will allow you to focus on the client and switch to Java.

Subsequently, you can consider various options in the Java space, as there are many other frameworks available with their strengths. But in the short term, it’s better to limit the number of moving parts

+2
source

The standard, most common framework / orm setting is spring / hibernate. Both of these tools, unfortunately, have grown to ridiculous extremes over the years, so they can seem complicated in size, but a simple setup with each of them is much simpler than it might seem by looking at all the options on their respective sites.

The best suggestion would be to follow step by step in order to get the basic spring / hibernate setting and just drop it. At some point, I had a prototype project similar to this one that I would use to create a β€œstarter kit” for bootstrap projects.

By the way, I would also suggest a simple ant build script. Some people may offer maven, but it is huge and very (imo overly) complicated and you will have enough new tools to wrap your head around to avoid having to learn another large set of commands.

+2
source

Welcome to the Java world. The best (and in some cases the worst) about the Java domain is that you can create your own stack based on your requirements. You are not necessarily associated with a single provider, as is usually the case in a .NET domain.

Since it seems that you are in a situation with a new field, you can:

  • Accept the webdevelopment package of a major commercial vendor such as Sun / Oracle (JSF / EJB3 + NetBeans / JDeveloper + Glassfish / Weblogic + MySQL / Oracle) or IBM

  • Adopt a smaller open source provider webdevelopment package like JBoss, SpringSource. Take a look at JBoss Seam and SpringSource Grails and Roo (the last two are based on the often mentioned Spring / Hibernate frames)

  • Mix and match your own stack based on the above and your requirements. Although this requires in-depth knowledge of the various technologies, infrastructures, and tools available.

You have many options, as you can see. Now, since you're interested in a performance-oriented stack, and I suspect it has no inheritance, I do not recommend using Grails or Roo . In which Roo is probably the most affordable, since you don't need to learn Groovy. If you don't like the creation tool, I suggest you stick with the Spring stack and just accept Spring / JPA / etc.

+2
source

As for the IDEs, the only Java IDEs that deserve their IMHO salts are Eclipse and Netbeans, especially since both are free. Use Eclipse for extensibility and ease of use; use Netbeans if you need to quickly develop a graphical interface.

0
source

All Articles