
Practice practical, reusable solutions for Java applications by exporting data into pdfs or Excel files, and dynamically handling MongoDB grids, file uploads, and receiving emails directly in our application.
Set up a basic spring boot project structure and add dependencies, including html templates and pdf libraries, to generate on-the-fly PDFs with images, barcodes, and signing.
Create a backend pdf workflow by translating html to pdf using a spring template engine, building a pdf generator service, and streaming a binary output stream to the browser.
Create a dynamic pdf on the fly using a pdf generator service via pdf controller endpoint. Return it to the browser as a downloadable file with headers and content type.
Explore how to format pdfs from html using css, including bootstrap styles, inline style attributes, and embedded css, to generate consistent pdf output from html to pdf.
Embed images into PDFs by encoding them in base64 within HTML for direct rendering. Build a utility to convert disk images to base64 and reference them in templates.
Embed images in pdf by converting an image to base64 and referencing a context variable image one in the html-to-pdf render, then verify by running the app.
Embed barcodes into PDF on the fly by generating barcode images with Google libraries, converting to base64, and rendering via HTML for PDF creation.
Enhance pdf creation by adding security features using a pdf stamper, enabling encryption, and setting passwords and permissions like printing while restricting copying or editing.
Download two truetype fonts into the resources folder and configure a render font resource resolver with their URLs to apply a font family in the HTML that governs PDF output.
Learn to set up a basic project structure and dependencies to dynamically export data to an Excel file with Apache POI, manage Maven configuration, and ensure Spring Boot 2.7 compatibility.
Implement a Spring Boot backend that generates an Excel workbook with sheets, rows, and cells, exposing an endpoint through a controller and a dedicated axle generator service.
Create an on-the-fly excel file endpoint in a spring boot controller by using an excel generator service to stream a workbook as an application/octet-stream attachment named excel for browser download.
Format Excel output by creating a cell style object, defining borders and font properties, and applying the style to multiple cells for bold, green text.
Embed images into Excel sheets by creating an embed image method that converts PNG or JPEG files to bytes, adds them to the workbook, and positions them on sheets.
Explore GridFS in MongoDB for storing large files and metadata beyond the 16MB limit, using Spring Boot with MongoDB starter. Learn its use cases, sharding, and easy integration.
Learn to store and retrieve file uploads with GridFS in MongoDB using a Spring Boot backend. Build the attachment service, handle multipart files, input streams, and metadata with GridFS operations.
Create a Thymeleaf frontend file upload flow with a Spring endpoint that handles multipart files, stores them in GridFS, uses post and get mappings, and redirects with flash messages.
Enhance the attachment service by implementing GridFS operations to list all files, retrieve a file by ID, and delete files via criteria for backend management and template display.
Learn to list files stored in GridFS on a frontend table, and implement download and delete actions with Spring Boot endpoints, including building the download response and user feedback.
Store metadata with files in grid fs as a map-like object, so keys map to content that can be strings, numbers, or arrays for easy retrieval and filtering.
Set up a minimal Spring Boot project with an embedded SMTP server for inbound mail using the subset SMTP dependency, plus Spring Data and MongoDB for storing emails.
Implement the deliver method to process incoming emails via a simple message listener and smtp server, creating a mime message from the input stream and logging the subject.
Externalize smtp host and port via application properties to enable flexible startup with environment profiles, enabling or disabling the smtp server and logging configuration status with vault overrides for testing.
Learn how to persist processed incoming emails in a Spring Boot app by modeling a MongoDB email entity, wiring a repository, and saving subject, from, and body.
Welcome to the ‘FullStack SpringBoot (2+)’ Practical Solutions course. With this course you are going to add a value to your existing JAVA and SpringBoot knowledge by getting familiar with several techniques for solving specifically selected areas of JAVA application development. Each topic involves project configuration section but mostly covers practical solutions being split into several steps.
We will focus on several topics often useful in corporate JAVA development but not exclusively. SpringBoot is being used here as an underlying framework, but solutions presented here are not specific to this platform and can be reused in other frameworks like Apache Wicket, Vaadin, Quarkus etc. Java 8 is used in this course, solutions provided are safe to use even in existing legacy projects.
What you'll learn
how to work with MongoDB as primary data store
include dynamically created MS Office files into your data export features
how to process incoming email traffic coming to your app directly
how to create full featured PDFs on fly using HTML and CSS only
Primary idea of this course is to help existing JAVA developers to adopt certain knowledge in easy way. Solutions presented are being used for several years in production grade applications and libraries used are well known for stability and active development. This will protect the value invested into adopting some libraries or projects.
Topics covered by this course:
creating PDF files dynamically using Thymeleaf, iText
using Apache POI for generating MS Excel compatible files
using MongoDB/GridFS for storing and retrieving file attachments/uploads
implementing SMTP listener running directly in SpringBoot application
Glue-code for all those implementations are SpringBoot 2.x (SpringBoot 1.5x and higher compatible) with its services, controller and Thymeleaf as a template engine.
GitHup Repo link is a part of last lecture resources.
Who is this course for:
FullStack SpringBoot course is targeted for individuals or small/medium teams of professional Java developers that want to be productive and competitive in this large market. techniques presented are easily used for application development of many kinds.