Things you often use when doing web development in Java

Introduction

In this article, we will introduce libraries and frameworks that are often used in system development in Java. I will explain briefly. We hope that it will be of some help when selecting technology.

JDK -Oracle JDK It is a Jdk with paid support. Instead of costing $ 2.5 per user each month It has LTS and endorsement from Oracle. We recommend using this if you place great importance on security or if you feel comfortable with support.

・ Open JDK It's a free jdk. Basic performance and yesterday are no different from the above. We recommend using this for personal development.

IDE, editor

・ Eclipse If you're starting your career as a Java engineer, it's probably an IDE you've heard of. In fact, it can handle many languages, not just Java. I have been indebted many times in practice. Compared to modern editors, it may be slower and have fewer plugins, It is an IDE that can be used in active duty. A similar tool is the Spring Tool Suite (STS).

・ MicroSoft VS Code It is an open source lightweight editor created based on web technology using Node.js library, Electron, etc. There are many examples of use in languages such as JavaScript and Python, By introducing a set of extensions called Java Extension Pack, you can easily build a comfortable development environment comparable to Eclipse.

Web framework

・ Struts2 I haven't heard many examples of adoption these days, but it is a framework that has prevailed in Java. ** Adopting MVC model, describe the processing of Web application in the class called Action class, We will develop by describing the transition destination in the configuration file called struts.xml. ** **

・ Spring MVC Probably, it is the No. 1 framework among Java frameworks in terms of adoption example name recognition. ~~ I personally think that all languages are about the same as Ruby on rails. ~~ Compared to other frameworks, it has a wider range of responsibility for DB linkage and transaction management. ** Dependency injection (DI) simplifies source code writing and supports aspect-oriented programming. ** ** In the past, there was a problem that creating and maintaining a configuration file was troublesome (not a problem peculiar to Spring), but there is also a framework that solves the problem of Spring Boot.

・ Play Framework It's famous and popular as a Scala framework rather than Java, but of course you can use Java as well. Compared to the above framework, it is lighter and easier to build an environment, and it is easier to write a configuration file. ** Describe the routing settings in a file called the routes file, and decide which process to call in response to the request from the screen. ** ** It's one of the frameworks influenced by Ruby on rails, so This framework is recommended for those who want to develop quickly, or for those who have experience developing with Ruby on rails or Django to study Java.

Library

・ JUnit It is a unit test library in Java that can be said to be self-explanatory. You can use AssertEquals () and annotations such as Test and Setup to write a concise and easy-to-understand test.

・ Jython A library that provides Python that runs on the JVM. (Current final version is Python2 series) This is useful when you are developing in Java but want to call a Python library.

-Apache POI It is a library that can be used when creating Excel or CSV in Java. It is more sophisticated than Java's standard API and allows you to develop more concisely. Please note that it uses a lot of memory.

version control

・ Git Compared to SVN above, I am not good at managing documents (it is treated as binary data), There are many advantages such as easy branch creation and few restrictions on merging. This is recommended for new development.

in conclusion

I personally develop OpenJdk + VSCode + Play + Git In practice, I work with Oracle Jdk + Eclipse + Spring + SVN, The personal development configuration is highly recommended.

I will write about JMockit, Jenkins, and build tools in the future. Also, if there is something you would like me to post, I would appreciate it if you could write it in the comment section.

Recommended Posts

Things you often use when doing web development in Java
Do you use Stream in Java?
A note when you want Tuple in Java
[Swift] Use nonzeroBitCount when you want popcnt in Swift
Use OpenCV in Java
Use PreparedStatement in Java
Things to watch out for in future Java development
When you want to dynamically replace Annotation in Java8
Code to use when you want to process Json with only standard library in Java
Four things Heroku stumbled upon when deploying a web app created in Java with GitHub
Things you often use when doing web development in Java
[In team development] Error when moving to another member's branch and doing rails s [Rails]
Reasons to use Servlet and JSP separately in Java development
Web application development environment construction in Java (for inexperienced people)
Use Java Web Start in an OpenJDK environment on Windows
Use JLine when you want to handle keystrokes on the console character by character in Java
Things to be aware of when writing code in Java
Reasons to use Servlet and JSP separately in Java development
First Java development in Eclipse
Use Redis Stream in Java
Syntax examples often used in Java
Let's use Twilio in Java! (Introduction)
<java> When "EXCEPTION_ACCESS_VIOLATION" appears in awt
[Java] Do not use "+" in append!
Use composite keys in Java Map.
How to use classes in Java?
When seeking multiple in a Java array
Multilingual Locale in Java How to use Locale
Use OpenCV_Contrib (ArUco) in Java! (Part 2-Programming)
[Java] Use cryptography in the standard library
Use "Rhino" which runs JavaScript in Java
Role of JSP in Web application [Java]
Java application development environment created in VM environment
Use without preparing an authentication file when using Firebase Admin SDK in Java
You may not want to use the remove method in ArrayList very often
Summary when trying to use Solr in Java and getting an error (Solr 6.x)