Category Archives: Java
In this post, we described how to use JUnit 5 to test your Spring MVC application with Maven. Setup Maven Dependencies We can get the required dependencies by declaring the junit-jupiter-api (version 5.x) dependency in our pom.xml file. This dependency provides the public API for writing tests and extensions. If we are using an IDE that is bundled with an older JUnit 5 version, it throws an exception when we try to run our unit tests by using our IDE. We can fix this problem by adding the following dependency to our POM file: The junit-platform-launcher provides a public API for configuring and launching tests. The API is typically used by IDEs and build tools. To test the Spring application,…
This tutorial is designed to help a new CAS user to set up the Apereo CAS server and client to their applications. The code of this tutorial is open-sourced on Git@haozhexie.com. What's CAS? Enterprise Single Sign-On - CAS provides a friendly open source community that actively supports and contributes to the project. While the project is rooted in higher-ed open source, it has grown to an international audience spanning Fortune 500 companies and small special-purpose installations. CAS provides enterprise single sign-on service for the Web: Setup Aperro CAS Server Download Source Code Before start, you need to download the source code from GitLab. In this tutorial, we are about to use the 4.x release. Create Maven Project After the download completes, uncompress the…
NOTE: The behaviors in this article are for HotSpot, other JVM might behave differently. What is JVM? The Java Virtual Machine is the cornerstone of the Java platform. It is the component of the technology responsible for its hardware- and operating system independence, the small size of its compiled code, and its ability to protect users from malicious programs. The Java Virtual Machine is an abstract computing machine. Like a real computing machine, it has an instruction set and manipulates various memory areas at run time. The JVM doesn't understand Java typo, that's why you compile your *.java files to obtain *.class files that contain the bytecodes understandable by the JVM. JVM controls the execution of every Java program. It enables features…
Today, the Spring Framework was released to 4.2 RC2. In Spring 4.2, better application events and Server-Sent Event(SSE) are supported. In this article, I'll introduce you to the two new features. What's Server-Sent Event Server-sent events (SSE) is a technology where a browser receives automatic updates from a server via an HTTP connection. The Server-Sent Events EventSource API is standardized as part of HTML5 by the W3C. Server-sent event is a standard describing how servers can initiate data transmission toward clients once an initial client connection has been established. They are commonly used to send message updates or continuous data streams to a browser client and are designed to enhance native, cross-browser streaming through a JavaScript API called EventSource, through…
This guide walks you through the process of creating a "hello world" application that sends messages back and forth, between a browser and the server. WebSocket is a very thin, lightweight layer above TCP. It makes it very suitable to use "subprotocols" to embed messages. In this guide, we’ll dive in and use STOMP messaging with Spring to create an interactive web application. Maven Dependencies First, we need to add the Spring messaging modules in the POM file: Spring MVC Configuration Next, we need to add the message broker config to the Spring MVC config XML file. The main thing here is the setup of the message broker for handling the message exchange between the server and its clients. This is…
Last few months, I'm working on a project with Spring MVC and Hibernate. Now, I want to try MyBatis. In this article, I'll tell you how to useMyBatis with Spring MVC. According to Wikipedia, database transactions should provide an “all-or-nothing” proposition, stating that each work-unit performed in a database must either be completed in its entirety or have no effect whatsoever. Further, the system must isolate each transaction from other transactions, results must conform to existing constraints in the database, and transactions that complete successfully must get written to durable storage. So in this example, I'm trying to create a simple MyBatis database transaction, managed by Spring Framework. Okay, so this is my pom file, as you can see, I'm…