Java and its ecosystem are often criticised for their development starting complexity, setting the project configuration, dependencies, application server etc. Because of that, newly opened companies and startups are biassed towards other technologies that make it easier to create visible results in less time. Spring Boot solves problems of initial project setup while also leaving you all the flexibility provided by Spring framework. In only few minutes it is possible to write an Enterprise application which code fits a single tweet - take a look and find out how.
Description and analysis of MEAN stack and underlying technologies (Mongo DB, Express, Angular and Node JS). Review of development tools & techniques. Performance, best practices. Common usage scenarios, pros and cons. How to use it, when to use it, when not to use it.
Predavanje sa JavaCro14 koje na primjeru CROZ-ovog proizvoda LikeMyIdea pokazuje automatizaciju release-a i instalacije. Korišteni alati i jezici: Maven, Groovy, Ant,
Jython, Shell (Batch).
Need for seamless communication between web browser and back-end server has resulted in technology called WebSocket. In this presentation we will see what is WebSocket and how can we leverage Spring framework and STOMP (Streaming Text Oriented Messaging Protocol) to display GPS coordinates on OpenLayers map in real time.
Java and its ecosystem are often criticised for their development starting complexity, setting the project configuration, dependencies, application server etc. Because of that, newly opened companies and startups are biassed towards other technologies that make it easier to create visible results in less time. Spring Boot solves problems of initial project setup while also leaving you all the flexibility provided by Spring framework. In only few minutes it is possible to write an Enterprise application which code fits a single tweet - take a look and find out how.
Description and analysis of MEAN stack and underlying technologies (Mongo DB, Express, Angular and Node JS). Review of development tools & techniques. Performance, best practices. Common usage scenarios, pros and cons. How to use it, when to use it, when not to use it.
Predavanje sa JavaCro14 koje na primjeru CROZ-ovog proizvoda LikeMyIdea pokazuje automatizaciju release-a i instalacije. Korišteni alati i jezici: Maven, Groovy, Ant,
Jython, Shell (Batch).
Need for seamless communication between web browser and back-end server has resulted in technology called WebSocket. In this presentation we will see what is WebSocket and how can we leverage Spring framework and STOMP (Streaming Text Oriented Messaging Protocol) to display GPS coordinates on OpenLayers map in real time.
Auditing of business applications is very important especially in online banking because we are working with monetary transactions. Privredna banka Zagreb had an requirement
to implement a flexible system to audit user activity in our online banking for SME clients especialy since are authorization model was rather complex, for that we decided to use api with Java filters and intereceptors on are web application and for storage system we choosed MongoDB NoSQL database. In this presentation we are going to show you how we did it.
Konferencija Javantura Zagreb 2014 by HUJAK
Vert.x – asinkroni, skalabilni i poliglotni framework nove generacije by Mihovil Rister
Vert.x (vertx.io) je relativno novi, asinkroni, poliglotni framework uvjetovan događajima te baziran na JVM-u, a svojevremeno jedan od najpraćenijih projekata na GitHubu. Također, bio je i razlog ozbiljnih napetosti između Red Hata i VMwarea, koje su umalo zaustavile projekt. Cilj ovog predavanja je predstaviti Vert.x svijet, pokazati osnove, te ponuditi najbolja iskustva, prakse i preporuke pri njegovoj uporabi.
Often, there is a difference of opinion between IT specialists who make business apps with databases in client-server architecture and those who skipped the client-server architecture altogether and began working on web applications. The former usually (but not always) tend to write their code in the database, while the latter consider the database a “black box”, which often serves only as a data container, while the business logic resides in the application server. There are a lot of other questions. The author thinks that specific needs require consideration. It is important to learn and think, and avoid being narrow-minded and accept a single “truth”. These questions will be considered through the Oracle ADF framework.
Konferencija Javantura Zagreb 2014 by HUJAK
Alfresco – Neo4j integracija – nova vrsta CMS aplikacija by Damir Murat
Graph baze imaju mnoge primjene, a jedna od njih je obogaćivanje i novi način pretraživanja i korištenja postojećih podataka. Ako prateći tu ideju povežemo CMS sustav Alfresco (www.alfresco.com) i graph bazu podataka Neo4j (www.neo4j.org), otvara se mogućnost kreiranja nove vrste CMS aplikacija. Dodamo li u mješavinu još i tehnologije kao što su Ext JS, D3.js i Grails, rezultat može biti vrlo atraktivan za krajnjeg korisnika.
Since the dawn of software development and until today, new technologies constantly appear with promise to make software of higher quality and overall development easier, but somehow they never live up to our expectations. A new look from an inspiring academic paper blames complexity as root cause of problems in software we have today. State and flow control are considered to be primary causes of complexity. We examine how these are handled today in some of major programming paradigms.
1. The document discusses a single mail client solution for integrating Lotus Domino and Microsoft Exchange with Liferay that was developed by PRODYNA AG.
2. It describes NABUCCO Groupware, an integration layer developed by PRODYNA to provide Liferay with enterprise-level integration of groupware applications like mail, calendar, contacts and tasks from systems like Lotus Domino and Exchange.
3. The DEILA framework is explained which was used to build the user interface for NABUCCO Groupware and integrate it with Liferay.
This document discusses asynchronous processing in Spring, including:
1. The concept of thread pools for managing asynchronous task execution and avoiding overhead of creating new threads.
2. Configuring asynchronous support in Servlet 3 and Spring MVC, including setting thread pool properties and handling exceptions.
3. Annotation-based approaches for executing methods asynchronously (@Async) and scheduling periodic tasks (@Scheduled) using Spring's TaskExecutor abstraction.
4. Asynchronous request processing in Servlet 3 where the request processing is decoupled from the servlet container thread to improve scalability.
This document discusses Java development tools and best practices. It provides survey results on topics like the most commonly used Java versions, IDEs, frameworks, testing tools, and more. The document also covers new Java features like switch expressions, which allow switch statements to be used as expressions and simplify control flow without needing breaks. Examples demonstrate using switch expressions to yield values from a switch block.
The document discusses Java's continued popularity and evolution. It provides statistics showing Java remains the #1 and #3 most popular programming language. It outlines the various JDK releases available and describes how Java continues to innovate through incremental 6-month releases while ensuring backwards compatibility. It also discusses proposals to shift to releasing long-term support versions every 2 years instead of every 3 years to better meet developer and enterprise needs.
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Behaviour-Driven Development (or TDD for that matter) is one of the pillars of Software Quality. While it is very important, not many of us do it or do not have the support from the management to invest time in it. Commonly, it has been described as a waste of time or an intangible effort conflicting with the deadlines. In this presentation, I would like to share my experiences with the Behaviour-Driven Development, the effects of not having it at all, as well as the outcomes of working on projects where a significant amount of behavior is automated with Cucumber tool.
By attending this session you will be able to learn what BDD and Cucumber are, how to build Cucumber tests and hear about first-hand experiences around automating specifications.
This document provides an overview of the current state and future of Java. It discusses the continued growth and popularity of Java over 24+ years as the #1 programming language. It summarizes the major Java Development Kit (JDK) releases from JDK 8 to the latest JDK 14 final release candidate, highlighting new features, preview features, and long-term support versions. The document also discusses the different open-source and commercial options for downloading the JDK, such as Oracle JDK, OpenJDK, Azul Zulu, and others.
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader - Daniel Strmečki
Your success depends on others, a 1-man army can only achieve so much. The only way to progress from coder to leader is to learn how to scale yourself. Nowadays, you can become a Senior Developer with just a few years of experience. After that, there are many roads and possibilities you can take. Whether you decide for a developer, architect, manager or a mixed career, at one point, you will need to become a leader. In the first chapter of the lecture we will start a discussion on how to get there. Since your time is limited, you need to mentor, coach, motivate and engage others. Start with making a stable foundation, like setting up a proper onboarding process. If you help people around you, they will for sure talk about it, and your manager will hear it. Also, demonstrate ability in everyday work: coding, project management, client-focus, communication and care about others. Always stick to your values and keep high standards. In the second chapter we will discuss the challenges that turn up once you get there. At that point you will deal with people more than technology. You will need to step away from coding for meetings very often. Interruptions will happen every day and it we be very hard to maintain “the flow”. You will need to learn how to delegate and drive topics without implementing them yourself. Visit the lecture to find out some techniques for dealing with interruptions, meetings, prioritization, people and their motivation.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
This document provides information about HUJAK, a Croatian organization that promotes Java and software development. It discusses HUJAK's role in organizing Java conferences in Croatia, supporting STEM education for children, and connecting Java developers. It also summarizes Java's continued popularity and growth, and outlines some of the upcoming projects that aim to further develop the Java programming language.
This is a story about our exploration of aspects of Polyglot Programming and Memory Management in a (J)VM. The first part is focused on our research of performance of GraalVM, an open-source, high-performance polyglot virtual machine written in Java, as well as an accompanying Graal compiler, supporting JIT and AOT compilation, with outstanding inlining and escape analysis algorithms. In the second part we are dealing with aspects of automatic memory management and garbage collection analysis in an existing JVM, thus comparing the most commonly used (older) garbage collectors such as Serial, Parallel (Old), CMS, and G1, with contemporary and default Parallel Full G1, and new experimental ZGC and Shenandoah, across several JDKs using a common benchmark suite.
We develop an application prototype with Java and Hyperledger Fabric to facilitate people in the company to sell domestic goods to each other using marketplace application. Java and SmartGWT were used to develop UI, part of data were stored in the relational DBMS, while orders and balances were stored on the blockchain, specifically Hyperledger Fabric.
Bugs happen! It is a developers life fact. Let'e explore one way we the developers can help customers to make batter bug reports.
During lifecycle of systems and applications that support complex and long running business processes it is often the challenge to get accurate bug report. In this talk we will present one custom developed solution that we used on several our projects as well as our experiences in using this approach.
Auditing of business applications is very important especially in online banking because we are working with monetary transactions. Privredna banka Zagreb had an requirement
to implement a flexible system to audit user activity in our online banking for SME clients especialy since are authorization model was rather complex, for that we decided to use api with Java filters and intereceptors on are web application and for storage system we choosed MongoDB NoSQL database. In this presentation we are going to show you how we did it.
Konferencija Javantura Zagreb 2014 by HUJAK
Vert.x – asinkroni, skalabilni i poliglotni framework nove generacije by Mihovil Rister
Vert.x (vertx.io) je relativno novi, asinkroni, poliglotni framework uvjetovan događajima te baziran na JVM-u, a svojevremeno jedan od najpraćenijih projekata na GitHubu. Također, bio je i razlog ozbiljnih napetosti između Red Hata i VMwarea, koje su umalo zaustavile projekt. Cilj ovog predavanja je predstaviti Vert.x svijet, pokazati osnove, te ponuditi najbolja iskustva, prakse i preporuke pri njegovoj uporabi.
Often, there is a difference of opinion between IT specialists who make business apps with databases in client-server architecture and those who skipped the client-server architecture altogether and began working on web applications. The former usually (but not always) tend to write their code in the database, while the latter consider the database a “black box”, which often serves only as a data container, while the business logic resides in the application server. There are a lot of other questions. The author thinks that specific needs require consideration. It is important to learn and think, and avoid being narrow-minded and accept a single “truth”. These questions will be considered through the Oracle ADF framework.
Konferencija Javantura Zagreb 2014 by HUJAK
Alfresco – Neo4j integracija – nova vrsta CMS aplikacija by Damir Murat
Graph baze imaju mnoge primjene, a jedna od njih je obogaćivanje i novi način pretraživanja i korištenja postojećih podataka. Ako prateći tu ideju povežemo CMS sustav Alfresco (www.alfresco.com) i graph bazu podataka Neo4j (www.neo4j.org), otvara se mogućnost kreiranja nove vrste CMS aplikacija. Dodamo li u mješavinu još i tehnologije kao što su Ext JS, D3.js i Grails, rezultat može biti vrlo atraktivan za krajnjeg korisnika.
Since the dawn of software development and until today, new technologies constantly appear with promise to make software of higher quality and overall development easier, but somehow they never live up to our expectations. A new look from an inspiring academic paper blames complexity as root cause of problems in software we have today. State and flow control are considered to be primary causes of complexity. We examine how these are handled today in some of major programming paradigms.
1. The document discusses a single mail client solution for integrating Lotus Domino and Microsoft Exchange with Liferay that was developed by PRODYNA AG.
2. It describes NABUCCO Groupware, an integration layer developed by PRODYNA to provide Liferay with enterprise-level integration of groupware applications like mail, calendar, contacts and tasks from systems like Lotus Domino and Exchange.
3. The DEILA framework is explained which was used to build the user interface for NABUCCO Groupware and integrate it with Liferay.
This document discusses asynchronous processing in Spring, including:
1. The concept of thread pools for managing asynchronous task execution and avoiding overhead of creating new threads.
2. Configuring asynchronous support in Servlet 3 and Spring MVC, including setting thread pool properties and handling exceptions.
3. Annotation-based approaches for executing methods asynchronously (@Async) and scheduling periodic tasks (@Scheduled) using Spring's TaskExecutor abstraction.
4. Asynchronous request processing in Servlet 3 where the request processing is decoupled from the servlet container thread to improve scalability.
This document discusses Java development tools and best practices. It provides survey results on topics like the most commonly used Java versions, IDEs, frameworks, testing tools, and more. The document also covers new Java features like switch expressions, which allow switch statements to be used as expressions and simplify control flow without needing breaks. Examples demonstrate using switch expressions to yield values from a switch block.
The document discusses Java's continued popularity and evolution. It provides statistics showing Java remains the #1 and #3 most popular programming language. It outlines the various JDK releases available and describes how Java continues to innovate through incremental 6-month releases while ensuring backwards compatibility. It also discusses proposals to shift to releasing long-term support versions every 2 years instead of every 3 years to better meet developer and enterprise needs.
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Behaviour-Driven Development (or TDD for that matter) is one of the pillars of Software Quality. While it is very important, not many of us do it or do not have the support from the management to invest time in it. Commonly, it has been described as a waste of time or an intangible effort conflicting with the deadlines. In this presentation, I would like to share my experiences with the Behaviour-Driven Development, the effects of not having it at all, as well as the outcomes of working on projects where a significant amount of behavior is automated with Cucumber tool.
By attending this session you will be able to learn what BDD and Cucumber are, how to build Cucumber tests and hear about first-hand experiences around automating specifications.
This document provides an overview of the current state and future of Java. It discusses the continued growth and popularity of Java over 24+ years as the #1 programming language. It summarizes the major Java Development Kit (JDK) releases from JDK 8 to the latest JDK 14 final release candidate, highlighting new features, preview features, and long-term support versions. The document also discusses the different open-source and commercial options for downloading the JDK, such as Oracle JDK, OpenJDK, Azul Zulu, and others.
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader - Daniel Strmečki
Your success depends on others, a 1-man army can only achieve so much. The only way to progress from coder to leader is to learn how to scale yourself. Nowadays, you can become a Senior Developer with just a few years of experience. After that, there are many roads and possibilities you can take. Whether you decide for a developer, architect, manager or a mixed career, at one point, you will need to become a leader. In the first chapter of the lecture we will start a discussion on how to get there. Since your time is limited, you need to mentor, coach, motivate and engage others. Start with making a stable foundation, like setting up a proper onboarding process. If you help people around you, they will for sure talk about it, and your manager will hear it. Also, demonstrate ability in everyday work: coding, project management, client-focus, communication and care about others. Always stick to your values and keep high standards. In the second chapter we will discuss the challenges that turn up once you get there. At that point you will deal with people more than technology. You will need to step away from coding for meetings very often. Interruptions will happen every day and it we be very hard to maintain “the flow”. You will need to learn how to delegate and drive topics without implementing them yourself. Visit the lecture to find out some techniques for dealing with interruptions, meetings, prioritization, people and their motivation.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
This document provides information about HUJAK, a Croatian organization that promotes Java and software development. It discusses HUJAK's role in organizing Java conferences in Croatia, supporting STEM education for children, and connecting Java developers. It also summarizes Java's continued popularity and growth, and outlines some of the upcoming projects that aim to further develop the Java programming language.
This is a story about our exploration of aspects of Polyglot Programming and Memory Management in a (J)VM. The first part is focused on our research of performance of GraalVM, an open-source, high-performance polyglot virtual machine written in Java, as well as an accompanying Graal compiler, supporting JIT and AOT compilation, with outstanding inlining and escape analysis algorithms. In the second part we are dealing with aspects of automatic memory management and garbage collection analysis in an existing JVM, thus comparing the most commonly used (older) garbage collectors such as Serial, Parallel (Old), CMS, and G1, with contemporary and default Parallel Full G1, and new experimental ZGC and Shenandoah, across several JDKs using a common benchmark suite.
We develop an application prototype with Java and Hyperledger Fabric to facilitate people in the company to sell domestic goods to each other using marketplace application. Java and SmartGWT were used to develop UI, part of data were stored in the relational DBMS, while orders and balances were stored on the blockchain, specifically Hyperledger Fabric.
Bugs happen! It is a developers life fact. Let'e explore one way we the developers can help customers to make batter bug reports.
During lifecycle of systems and applications that support complex and long running business processes it is often the challenge to get accurate bug report. In this talk we will present one custom developed solution that we used on several our projects as well as our experiences in using this approach.
With several years of remote work experience in an agile environment, working from beautiful Zagreb for clients abroad and trying out different distributed team setups, we will share the motivation and philosophy behind it. We will also cover best practices, challenges and general tips & tricks in different segments such as work organisation, technical requirements, social requirements, methodology etc.
This talk is recommended for all developers who want to start working remotely or improve the way they already do it, employers who consider establishing distributed teams inside of their companies and clients searching for partners who have distributed teams.
While Kotlin is designed to work well with Java by default, we'll still need to some work to get clean and idiomatic code in both languages.
In this talk we'll cover both how to make your Java code more Kotlin friendly and how to make your Kotlin code nicer to use from Java.
HATEOAS is without a doubt, the least understood pillar of REST. It seems difficult to implement and shows no immediate reward for it, so many developers don't even bother. The truth is, it just has some bad PR and a horrible acronym that sounds like a breakfast cereal. Join me to take a look at the theory and practice behind using hypermedia by examining both web services and web clients. Along the way we will look at some exciting upcoming Spring HATEOAS features, like the Affordances API, and talk about what the future holds for hypermedia in your web services.
This document discusses continuous delivery of microservices on Kubernetes. It notes that previously there were challenges like big bang releases, lack of automation, and complexity in delivering business value. However, tools like Jenkins X now allow for reimagined continuous integration and continuous delivery (CI/CD) workflows for cloud native applications on Kubernetes, providing faster feedback and delivery of value. The document encourages ongoing learning and communication to improve processes.
Individual microservices are relatively easy to develop, but managing a distributed system composed of microservices is never a simple task. Kubernetes helps, but it falls short of providing everything such a system needs. This is where the Istio Service Mesh comes in.
Running microservices in production, you'll soon realize you want things like traffic splitting, automatic connection retries, timeouts and failovers, secure communication and authentication between your services, distributed metrics, tracing and logging. By introducing Istio into your architecture, you get all of that and more. And you get most of it without changing your code at all.
In this talk, you'll see a demonstration of Istio in action and learn about the tricks that make its magic possible.
Do your customers keep complaining about bugs in your software application? Does it take you too much time to implement new features? If yes, then you probably have issues with the quality of your application. Join me to find out what practical steps you can follow to improve the quality of your application!
We are used to give commands to our computers with keyboard - by natural language recognition improvement, services around this technology stack become better and better each day. Using Google Home mini device, IFTTT service and java web socket netty server hosted on red hat Openshift platform, control your loving private computer terminal or any application from distance with your bare voice.
Quality control during apps development demands continuous testing. Selenium, Cucumber, Jenikns and Docker can help us in that process. Hrvoje will share his experience about that subject.
Bugs are a daily cause of stress in our work as Java developers. Those pesky things can hide behind core concepts in Java 9 and 10—there is no way out of this. If we don’t keep up to date with new Java versions, bugs will take over our projects. But can we have fun hunting them? You bet! How about solving a series of Java puzzles as a way to master concepts and save a lot of time finding those tricky bugs? In this session, attendees can help the bug hunters solve fun Java challenges, gain a clear understanding of what causes the most-stressful bugs—and have fun eliminating them from projects.
In H2020 EU project symbIoTe (symbiosis of smart objects across IoT environments) we have been building IoT middleware based on microservices programmed in Java with Spring Boot and Spring Cloud components. Here I will present our experiences in developing such services in distributed team across EU and employed by 15 organizations. I will present organizational and technical advantages and drawbacks as well as our choices in building such system.
More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)
2. • Zašto Spring Boot?
• Standalone Spring aplikacije
• Konfiguracija
• Kako radi Spring Boot?
• Primjer REST servisa
• Spring Boot Actuator
• Testiranje
• Perspektiva
Sadržaj
3.
4. • Standalone aplikacije s ugrađenim serverom
spremne za produkciju:
– Metrike, health checkovi, remote spajanje na
server (SSH, Telnet) itd.
– Mikroservisi
• Konfiguracija bez XML-a
• Starter POM-ovi, lakši dependency management
• Rješava Spring boilerplate
Zašto Spring Boot?
11. Kako radi Spring Boot?
• @EnableAutoConfiguration
– Skeniranje classpatha, zaključivanje, instanciranje
objekata
– Npr. ako na classpathu pronađe Thymeleaf
automatski će kreirati view i view resolver, te
Spring template engine
– Daje prednost user beanovima
• NE GENERIRA KOD
15. Testiranje
• spring-boot-starter-test
• Spring Test, JUnit, Hamcrest, Mockito
• @SpringApplicationConfiguration
– Spring Boot konfiguracija ApplicationContext-a
• @IntegrationTest
– Za testiranje koristi embeddani server
18. Nije mi ni to dosta
• Spring Loaded
– Omogućuje hot reload aplikacije
– Prati promjene nad klasama, automatski ih
kompajlira i izmjenjuje
Dosta mi je..
20. Zaključak
– Pojednostavljen razvoj
– Konfiguracija
– Fokus na aplikaciji
– Puštanje u produkciju
– Opinionated
– Deploy na aplikacijske
servere?
Spring Boot je i dalje Spring!