Tech Tutorials

My tutorials on Java, AI and technology.

Commentary, tutorials, opinions and practical development insights from TheServerSide.

Related Resources

The newest articles matching the selected resource filters. Showing up to 1000 resources.

Types tutorial
How Replit and GitHub Copilot Approach Vibe Coding

How Replit and GitHub Copilot Approach Vibe Coding

Compare two AI coding agents as they create and test a TypeScript image watermarking service, and learn why precise prompts and human oversight matter.

AI

How LLM Tokenization Turns Prompts Into Meaning

How LLM Tokenization Turns Prompts Into Meaning

Explore tokens, embeddings, and high-dimensional vector spaces to understand how language models process natural language prompts.

AI

A Practical Introduction to Concurrency in Go

A Practical Introduction to Concurrency in Go

Learn how goroutines, channels, select, and synchronization help Go programs coordinate concurrent tasks clearly and efficiently.

Spring

Build an AI Agent with a TypeScript Example

Build an AI Agent with a TypeScript Example

Explore the principles of autonomous AI agents and follow a TypeScript example that uses ChatGPT and weather data.

AI

Build Your First Java LLM Application

Build Your First Java LLM Application

Follow practical examples for calling OpenAI from Java, configuring LangChain4j, and connecting your application to other language models.

AI

How to Use Asyncio for Concurrent Python Applications

How to Use Asyncio for Concurrent Python Applications

Explore Python coroutines, event loops, asynchronous I/O, subprocesses, and producer-consumer queues while learning when async is not the right fit.

Other

Building a Lasting Role for Developers in the Age of AI

Building a Lasting Role for Developers in the Age of AI

AI can accelerate routine coding, but developers still need imagination, analytical thinking, prompt skills, and testing discipline to build reliable software.

AI

Applying OOP Principles to JavaScript and React Components

Applying OOP Principles to JavaScript and React Components

Explore how React components apply encapsulation, polymorphism, and composition to extend behavior and create reusable web interfaces.

Spring

Choosing Between Stubs and Mocks for Unit Tests

Choosing Between Stubs and Mocks for Unit Tests

Compare test stubs and mocks, their strengths and limitations, and when each replacement is most useful for isolated software testing.

Spring

Build a Prompt Chain with the OpenAI API

Build a Prompt Chain with the OpenAI API

Use Node.js to combine GPT-4 Turbo and DALL-E 3 for research, data transformation, and AI image generation.

AI

Build AI Programs with GPTScript and Natural Language

Build AI Programs with GPTScript and Natural Language

This beginner-friendly guide covers GPTScript installation, OpenAI configuration, natural-language scripts, and tools for analyzing local files.

AI

A Practical Guide to TypeScript Generics

A Practical Guide to TypeScript Generics

Explore generic types, constraints, and reusable TypeScript classes and functions with practical examples and compile-time error handling.

Spring

Understanding Sagas for Reliable Microservice Workflows

Understanding Sagas for Reliable Microservice Workflows

Explore saga compensations, orchestration, and choreography for managing failures across distributed business processes.

Spring

Centralize Gradle Dependencies with Version Catalogs

Centralize Gradle Dependencies with Version Catalogs

This tutorial shows how to publish and consume Gradle version catalogs for consistent dependency, BOM, bundle, and plugin management.

Spring

A Practical Introduction to TypeScript Generics

A Practical Introduction to TypeScript Generics

Explore generic syntax in TypeScript and see how type parameters improve reusable functions, interfaces, classes, and type-safe arrays.

Spring

Building and Using Method Decorators in TypeScript

Building and Using Method Decorators in TypeScript

Explore decorator syntax, method parameters, PropertyDescriptor, and before-and-after logging around a class method.

Spring

What a First Java Program Teaches Beginners

What a First Java Program Teaches Beginners

Explore 11 practical lessons about Java syntax, whitespace, REPL support, case sensitivity, semicolons, strings, and more.

Spring

Choosing the Best Way to Read User Input in Java

Choosing the Best Way to Read User Input in Java

Compare Console, Scanner, JOptionPane, and System.in to find the right input strategy for your standalone Java program.

Spring

Reading Console Input with Java System.in

Reading Console Input with Java System.in

See how Java's standard input stream works with Scanner, InputStreamReader, and BufferedReader to handle keyboard input.

Spring

Understanding Java System.in and Console Input

Understanding Java System.in and Console Input

Learn how Java's System.in works with Scanner, InputStreamReader, and BufferedReader to read input from the terminal.

Spring

Understanding Suppressed Exceptions in Java 7

Understanding Suppressed Exceptions in Java 7

See how try-with-resources combines primary and cleanup failures, and learn how to inspect and handle suppressed exceptions.

Spring

Java Try-With-Resources: An AutoCloseable Example

Java Try-With-Resources: An AutoCloseable Example

Learn how Java automatically closes resources such as connections and files with the try-with-resources statement.

Spring

A Practical Guide to Resolving Common Java Compiler Errors

A Practical Guide to Resolving Common Java Compiler Errors

Understand why frequent Java compilation problems occur and apply straightforward fixes for syntax, variables, types, methods, and control flow.

Spring

Undo One Commit with Git Revert

Undo One Commit with Git Revert

Follow a practical example of reverting a specific commit, reviewing its history, and comparing git revert with git reset.

DevOps

Using Epsilon GC for No-Op Java Memory Management

Using Epsilon GC for No-Op Java Memory Management

Explore the JVM options, benefits, risks, and performance scenarios for using Epsilon GC without memory reclamation.

Spring

Using WebAssembly Hub to Extend Envoy

Using WebAssembly Hub to Extend Envoy

Learn how developers can share WebAssembly binaries, create custom Envoy filters, and deploy them through service mesh configurations.

DevOps

Understanding Java's Eight Primitive Data Types

Understanding Java's Eight Primitive Data Types

Learn why Java primitives are not objects and how boolean, floating-point, integral, and char types form the foundation of Java programs.

Spring

Compare Java Strings Correctly with equals()

Compare Java Strings Correctly with equals()

Learn how the String pool affects equality checks and why equals() is safer than == for comparing Java String objects.

Spring

Get Started with Jenkins and Run Your First Build

Get Started with Jenkins and Run Your First Build

This beginner-friendly guide covers Jenkins installation with the WAR package, Java setup, initial security configuration, and the admin console.

DevOps

Installing OpenJDK on Windows and Configuring JAVA_HOME

Installing OpenJDK on Windows and Configuring JAVA_HOME

A practical walkthrough for choosing a Java distribution, installing the JDK on Windows or Ubuntu, setting environment variables, and validating the setup.

Spring

Detect and Remove Internal Java API Dependencies with JDeps

Detect and Remove Internal Java API Dependencies with JDeps

This practical example shows how to scan a JAR with JDeps, identify Unsafe and BASE64Encoder usage, and move toward supported Java APIs.

Spring

A Test-First Strategy for Java Certification Exams

A Test-First Strategy for Java Certification Exams

Learn how test-first thinking can reshape Java certification preparation, reduce exam stress, and expose the limits of conventional testing.

Skills

Select Spring Beans Dynamically with Custom Annotations

Select Spring Beans Dynamically with Custom Annotations

This hands-on tutorial shows how annotations, component scanning, and reflection can reduce boilerplate when choosing beans at runtime.

Spring

Configure Jenkins to Build Code from a GitHub Repository

Configure Jenkins to Build Code from a GitHub Repository

Follow a practical example that connects Jenkins to GitHub, retrieves Java source code, and generates Javadoc through a configured build job.

DevOps

Create a Java Web Application with Spring Boot MVC

Create a Java Web Application with Spring Boot MVC

Follow a practical example that connects Spring MVC controllers, request parameters, models, and Thymeleaf views in a simple game.

Spring

Master the Five Git Commands Every Beginner Needs

Master the Five Git Commands Every Beginner Needs

Follow practical examples for initializing repositories, configuring Git, staging files, checking status, and committing changes.

DevOps

Using Jenkins Environment Variables in Build Jobs

Using Jenkins Environment Variables in Build Jobs

Create a freestyle project, print Jenkins environment values, and reference them from shell scripts or Windows batch commands.

DevOps

Package a Java Web App with Embedded Tomcat

Package a Java Web App with Embedded Tomcat

Follow a practical Maven tutorial to build, run, and access a Java web application from an executable JAR containing Tomcat.

Spring

Resolve Log4j Build Errors with Maven Dependency Management

Resolve Log4j Build Errors with Maven Dependency Management

This hands-on Java example shows how to update pom.xml, retrieve Log4j from Maven Central, and get mvn compile working again.

Spring

Install Maven and Run Your First Java Build

Install Maven and Run Your First Java Build

Set up Maven with a JDK, generate a project from an archetype, and use the mvn command line to compile, test, and package a JAR.

DevOps

How to Create and Run a Jenkins Freestyle Build Job

How to Create and Run a Jenkins Freestyle Build Job

Follow this beginner-friendly CI tutorial to configure a Jenkins freestyle project, execute Windows batch commands, and inspect console output.

DevOps

Secure Jenkins and GitHub Access with OAuth

Secure Jenkins and GitHub Access with OAuth

Set up Jenkins, connect it to GitHub with OAuth credentials, and create a job that polls, retrieves, and compiles source code.

DevOps

A Java Developer’s Guide to TypeScript Syntax

A Java Developer’s Guide to TypeScript Syntax

See how familiar Java concepts such as variables, enums, loops, methods, and classes translate into TypeScript for modern web development.

Spring

Process CSV Log Data with Apache Drill

Process CSV Log Data with Apache Drill

Follow a practical case study covering Drill installation, CSV configuration, SQL queries, latency analysis, and exporting results.

Other

How to Define and Namespace JavaScript in Portlets

How to Define and Namespace JavaScript in Portlets

Use external scripts, portlet namespaces, and the JavaScript module pattern to build cleaner portal applications that support multiple instances.

Spring

Integrating Spring Beans with WebSphere Portal Filters

Integrating Spring Beans with WebSphere Portal Filters

See how to reuse annotated Spring components inside portal filters when WebSphere controls filter creation and runtime execution.

Spring

Install JDK 8 and Build Your First Java Program

Install JDK 8 and Build Your First Java Program

Follow this beginner-friendly walkthrough to configure Java, create a Hello World class, compile it into bytecode, and run it on the JVM.

Spring

Refactoring Conditional Logic in Java

Refactoring Conditional Logic in Java

Explore Java's if, else, and switch constructs through a practical rock-paper-scissors example.

Spring

Java and JavaScript Conditional Logic Compared

Java and JavaScript Conditional Logic Compared

Explore how if statements, else if branches, and switch cases work similarly in Java and JavaScript with a browser-based roshambo example.

Spring

Build a Rock-Paper-Scissors Game in Java

Build a Rock-Paper-Scissors Game in Java

Practice Java syntax, Swing dialogs, conditional statements, compilation, and JVM execution with a simple interactive game.

Spring

A Practical Path to Polyglot Programming for Java Developers

A Practical Path to Polyglot Programming for Java Developers

Explore problem-driven tutorials that use rock-paper-scissors to make learning Ruby, Scala, JavaScript, and other languages more approachable.

Spring

A Practical Ruby Primer for Java Programmers

A Practical Ruby Primer for Java Programmers

Compare Ruby and Java while building a console-based rock-paper-scissors game, from user input and conditional logic to formatted output.

Spring

Writing Clearer Conditional Statements in Ruby

Writing Clearer Conditional Statements in Ruby

Explore Ruby's conditional keywords by improving a rock-paper-scissors program and comparing them with Java's conditional constructs.

Spring

Learn JavaScript by Porting a Java Game to the Browser

Learn JavaScript by Porting a Java Game to the Browser

Explore JavaScript fundamentals, HTML integration, event handlers, and document updates by adapting a rock-paper-scissors application.

Spring

Using Spring Cache with a Distributed In-Memory Data Grid

Using Spring Cache with a Distributed In-Memory Data Grid

This tutorial shows how Spring Cache works and how to configure TayzGrid as a scalable, distributed cache for Java applications.

Spring

Build Modular Java Applications with Project Jigsaw

Build Modular Java Applications with Project Jigsaw

Explore Jigsaw samples, define module dependencies, and compile and run modular Java code using the early JDK tools.

Spring

Asynchronously invoking a second managed bean method in JavaSever Faces (JSF)

Asynchronously invoking a second managed bean method in JavaSever Faces (JSF)

The new features added to JSF make doing an asynchronous call to the server incredibly easy, but what if you need to follow that first asynchronous call with a second asynchronous call to a JavaServer Faces managed bean? It's a bit of work, but in this tutorial, we walk you through it.

Calling JSF Backing Beans from JavaScript

Calling JSF Backing Beans from JavaScript

Use a JSF command component and JavaScript DOM interaction to trigger managed bean methods, including asynchronous calls with f:ajax.

Spring

Build Your First Android App Using Eclipse

Build Your First Android App Using Eclipse

Follow the setup process from installing the JDK and Android tools to creating an emulator, coding a Rock Paper Scissors app, and testing it.

Spring

Building Responsive Single-Page Interfaces with JSF

Building Responsive Single-Page Interfaces with JSF

This tutorial series explains how to combine Facelets templates, JSF, Ajax, CSS, and HTML5 for maintainable, responsive web applications.

Spring

Finishing a JavaServer Faces Application with Ajax

Finishing a JavaServer Faces Application with Ajax

Connect Facelets page fragments to managed beans and use JSF Ajax rendering to update application content without full page reloads.

Spring

Build Dynamic Facelets Pages with JSF and Ajax

Build Dynamic Facelets Pages with JSF and Ajax

This tutorial shows how managed beans and JSF Ajax components can refresh selected Facelets content instead of reloading the entire page.

Spring

Build Reusable JSF Facelets Layouts with Includes

Build Reusable JSF Facelets Layouts with Includes

See how to combine ui:insert, ui:include, and XHTML fragments to organize template-based Java web applications.

Spring

Build Reusable JSF Pages with Facelets Templates

Build Reusable JSF Pages with Facelets Templates

Create a consistent JSF application layout by combining Facelets ui:composition, ui:insert, and ui:define tags.

Spring

Build a Reusable Facelets Layout for JSF

Build a Reusable Facelets Layout for JSF

This tutorial shows how to convert a static HTML and CSS page into a JSF 2.0 layout with replaceable header, content, sidebar, and footer sections.

Spring

Build reusable JSF 2.2 templates with Facelets

Build reusable JSF 2.2 templates with Facelets

Explore the foundations of HTML and CSS layouts before adding dynamic JavaServer Faces functionality with the Facelets templating engine.

Spring

Register an MBean with JMX using Spring

Register an MBean with JMX using Spring

Configure Spring lifecycle callbacks and web application settings to register an MBean with the JMX server and expose it through VisualVM.

Spring

Connect VisualVM to a Local or Remote App Server

Connect VisualVM to a Local or Remote App Server

Configure VisualVM, install the MBeans plug-in, and connect to JVMs through local processes or remote JMX connections.

Spring

Use Spring and JMX to Monitor Running Web Applications

Use Spring and JMX to Monitor Running Web Applications

Build a reusable application MBean that exposes version details, properties, startup information, and runtime refresh operations for remote administration.

Spring

Web Platform Highlights from O'Reilly Fluent 2014

Web Platform Highlights from O'Reilly Fluent 2014

Explore conference coverage of emerging Web technologies, JavaScript frameworks, APIs, mobile development, and application security.

Other

Create a Sliding Fade Animation with JavaScript

Create a Sliding Fade Animation with JavaScript

Build a simple rock-paper-scissors effect that moves result text downward and fades it from visible to white using HTML, CSS, and JavaScript.

Spring

Build a Rock Paper Scissors Game with JavaScript

Build a Rock Paper Scissors Game with JavaScript

Create a beginner-friendly browser game using HTML links, JavaScript event handlers, and simple logic for comparing player choices.

Spring

Build a Simple Game with JavaScript Events

Build a Simple Game with JavaScript Events

Explore DOM event handling and event objects by connecting rock, paper, and scissors links to a browser-based Roshambo game.

Spring

Understanding PortletSession Scopes in JSR 286

Understanding PortletSession Scopes in JSR 286

Explore how portlet and application scopes control session data visibility, with examples that share state between portlets in the same WAR.

Spring

Using PortletURL to Link Forms Back to a Portlet

Using PortletURL to Link Forms Back to a Portlet

This JSR-286 tutorial shows how RenderURL, JSP tag libraries, and portlet request handling connect HTML forms with the correct portlet instance.

Spring

A Java Approach to Choosing Enums Over Exceptions

A Java Approach to Choosing Enums Over Exceptions

See how enum-based status handling can reduce exception overhead while making application error flows easier to read and maintain.

Spring

Use Java Enums to Write Simpler, More Maintainable Code

Use Java Enums to Write Simpler, More Maintainable Code

Explore practical enum techniques, including custom behavior, value mapping, text translation, and zero-based array storage.

Spring

Choosing the Right EJB Session Bean for Your Application

Choosing the Right EJB Session Bean for Your Application

Learn when to use stateful, stateless, or singleton session beans, and how each option supports client state, shared resources, and session facades.

Spring

Build MVC Views with JSPs in JSR-286 Portlets

Build MVC Views with JSPs in JSR-286 Portlets

Learn to include JSP content from a portlet, access Portlet API objects, and use the portlet tag library for MVC-based rendering.

Spring

Master Request-Response Programming in JSR-286 Portlets

Master Request-Response Programming in JSR-286 Portlets

Explore how Portlet 2.0 handles incoming requests, rendered responses, HTTP headers, exceptions, and portlet deployment configuration.

Spring

An Introduction to Building JSR-286 Portlets

An Introduction to Building JSR-286 Portlets

Explore portlet fundamentals, lifecycle methods, request handling, deployment descriptors, and the WAR structure behind a simple HelloWorld application.

Spring

Using Big Data to Address CMS Content Challenges

Using Big Data to Address CMS Content Challenges

Explore how Hadoop, MapReduce, NoSQL databases, and cloud technologies help organizations manage and make sense of large volumes of content.

Other

A Practical Guide to Enterprise Mobile App Development

A Practical Guide to Enterprise Mobile App Development

Explore mobile strategy, platform choices, development skills, cloud integration, lifecycle management, security, testing, and industry trends.

Other

Why Common Complaints About Spring Do Not Tell the Whole Story

Why Common Complaints About Spring Do Not Tell the Whole Story

This discussion examines Spring's tradeoffs, its relationship with Java EE, and how flexibility in configuration, libraries, and integration can benefit developers.

Spring

Comparing Java EE and Spring Framework Capabilities

Comparing Java EE and Spring Framework Capabilities

Explore where Java EE has evolved and how Spring APIs such as JdbcTemplate reduce JDBC boilerplate and simplify application development.

Spring

Why the Spring Framework Still Matters for Java Developers

Why the Spring Framework Still Matters for Java Developers

Ken Rimple explains how Spring simplifies Java enterprise development through dependency injection, inversion of control, and its lightweight container.

Spring

Using JSF to Render Server-Side Java as HTML

Using JSF to Render Server-Side Java as HTML

This video tutorial demonstrates JSF core and HTML tags, JSP deployment with Tomcat, and how server processing delivers plain HTML to clients.

Spring

Build a Multilingual JSF Hello World Application

Build a Multilingual JSF Hello World Application

Use JSF resource bundles and browser locale settings to serve English, French, or Spanish content automatically.

Spring

Installing JSF and Deploying a Web Application with Tomcat

Installing JSF and Deploying a Web Application with Tomcat

This video tutorial explains how to configure JavaServer Faces and JSTL, deploy the sample WAR file, and verify the application on Tomcat.

Spring

Set Up Apache Tomcat for Java Development

Set Up Apache Tomcat for Java Development

Follow a practical walkthrough for installing Tomcat, configuring JAVA_HOME, verifying localhost access, and deploying WAR files.

Spring

Install the JDK and Configure JAVA_HOME

Install the JDK and Configure JAVA_HOME

A step-by-step guide to setting up the Java Development Kit, checking the command line installation, and configuring JAVA_HOME on Windows.

Spring

Reduce Duplicate Catch Blocks with Java 7 Precise Rethrow

Reduce Duplicate Catch Blocks with Java 7 Precise Rethrow

See how Java 7 preserves specific exception types when rethrowing from a generalized catch block, and why reassignment prevents the feature from working.

Spring

How Java 7 Numeric Underscores Improve Literal Readability

How Java 7 Numeric Underscores Improve Literal Readability

Learn the Java 7 rules for placing underscores in binary, decimal, hexadecimal, floating-point, and long numeric literals for OCPJP certification.

Skills

How to Use String Values in Java 7 Switch Statements

How to Use String Values in Java 7 Switch Statements

Learn how Java 7 added String-based switch cases, grouped conditions, type restrictions, and null-handling concerns.

Spring

Understanding Binary Literals in Java 7

Understanding Binary Literals in Java 7

Explore Java 7 binary notation, numeric type limits, literal suffixes, and certification exam considerations through practical code examples.

Skills

A Java Developer’s Guide to Cloud Application Development

A Java Developer’s Guide to Cloud Application Development

Understand the tradeoffs of cloud adoption and learn how Java teams can approach scalability, PaaS, troubleshooting, and data design.

Spring

Adding CDI Support to JSF Applications on Tomcat 7

Adding CDI Support to JSF Applications on Tomcat 7

Configure Weld, CDI annotations, deployment descriptors, libraries, and application packaging for a JSF 2.0 application running on Tomcat 7.

Spring

Integrating Spring Portlet MVC with WebSphere Portal 7

Integrating Spring Portlet MVC with WebSphere Portal 7

A practical introduction to installing the required libraries, deploying a sample portlet, and understanding its Spring MVC configuration.

Spring

Build a Standalone JPA Application with DataNucleus

Build a Standalone JPA Application with DataNucleus

Follow a practical walkthrough for setting up DataNucleus 2.1, configuring persistence.xml, enhancing entities, and storing Java objects in MySQL.

Spring

Simplify Spring Configuration with Component Scanning

Simplify Spring Configuration with Component Scanning

Learn how to replace a configuration class by scanning packages for @Component and @Configuration classes in a servlet-based Spring application.

Spring

Build a Servlet and JSP Web App with Spring 3.0

Build a Servlet and JSP Web App with Spring 3.0

Learn how to configure Spring's IoC container with Java or XML, manage session-scoped beans, and connect Spring to a servlet-based application.

Spring

Understanding Java Classloading in WebSphere Applications

Understanding Java Classloading in WebSphere Applications

Explore the WebSphere classloader hierarchy, parent-first and parent-last delegation, class visibility, packaging choices, and common runtime errors.

Spring

Building Continuous Code Quality Feedback with Sonar

Building Continuous Code Quality Feedback with Sonar

This guide explains how to connect Sonar, source control, reports, and developer feedback so quality problems are identified and corrected early.

DevOps

A Practical Introduction to WebSphere Portal 7

A Practical Introduction to WebSphere Portal 7

Explore the Portal architecture, launch a local installation, and learn the fundamentals of pages, portlets, and portal customization.

Spring

Migrating Hibernate 3.5 Code to the Java Persistence API

Migrating Hibernate 3.5 Code to the Java Persistence API

Explore how JPA can shield Java persistence code from Hibernate-specific APIs while supporting configuration, transactions, queries, and CRUD operations.

Spring

Build Generic Data Access Objects with Hibernate

Build Generic Data Access Objects with Hibernate

This tutorial demonstrates DAO interfaces, Hibernate implementations, CRUD operations, and client-managed transaction boundaries using JPA annotations.

Spring

Persisting JPA 2.0 Entities with Hibernate 3.5

Persisting JPA 2.0 Entities with Hibernate 3.5

Configure a persistence unit and use the JPA EntityManager API to perform create, read, update, and delete operations with Hibernate.

Spring

Map Java Entities with Hibernate 3.5 XML Files

Map Java Entities with Hibernate 3.5 XML Files

This tutorial shows how to define entity and column mappings in hbm.xml, configure Hibernate, and perform CRUD operations without relying on JPA.

Spring

Configure Hibernate 3.5 with JPA 2.0 from Scratch

Configure Hibernate 3.5 with JPA 2.0 from Scratch

Learn how to assemble the required JAR files, configure a MySQL schema, create a JPA entity, and run Hibernate without an IDE.

Spring

Avoiding Ambiguous Constructors in Spring Configuration

Avoiding Ambiguous Constructors in Spring Configuration

See how Spring 3 resolves constructor arguments, why XML can select the wrong overload, and how annotations and explicit type and index attributes help.

Spring

Understanding the Trade-offs of Dependency Injection with Guice

Understanding the Trade-offs of Dependency Injection with Guice

This Java guide examines Guice's injection patterns, binding limitations, object lifecycle concerns, and the impact on testing and maintainability.

Spring

A Basic Java IoC Example with Google Guice

A Basic Java IoC Example with Google Guice

See how Google Guice creates a simple GameSummary object through an injector, then compile and run the example from the command line.

Spring

Configure a Java Project with Google Guice

Configure a Java Project with Google Guice

Set up the Guice libraries, create a basic injector example, and run it from the command line to confirm your environment is ready.

Spring

Configure a Spring 3 Development Environment

Configure a Spring 3 Development Environment

Set up the JDK, Spring libraries, Java classpath, and command-line workflow needed to compile and run a standalone Spring application.

Spring

Configure Spring Beans with Java or XML

Configure Spring Beans with Java or XML

Build and retrieve a GameSummary bean using Spring's annotation-based configuration and XML configuration, then compare their strengths and limitations.

Spring