Have you ever wondered how it’s possible that spring-boot is able to pick up whatever you have on
the classpath and configure application context to your needs based on some conventions and bit of
black magic? In this post, I’m going to dig into
spring.factories file on which most of the
spring-boot power is based.
How to introduce automated checks that will guarantee that conventions are followed in an example of test naming convention. I’m going to focus on creating automated process that will verify if test names do match conventions. Automation will allow us to forget about the rule because the computer will ensure it’s followed. Test that I’m going to introduce will be living documentation inside the project and ensure no one will miss nor forget about the way we group tests.
Have you ever wondered how spring does things? How field annotated with
@Autowired is populated?
How asynchronous or scheduled methods are discovered. In this post, I’m going to take a deeper look
and scratch a bit on the surface of spring internals. I’ll focus on
which can be used to achieve interesting things and is used in many various functionalities across
spring framework itself.
I’ve been working with gradle for some time but I’ve never needed to configure deployment from gradle to maven repository. In this post, I’m going to configure deployment of java based gradle project to the nexus artifact repository. This will include uploading a signed jar itself with javadoc and sources.
Some time ago I’ve started working on updating automated tests written in selenium with java. After working a bit with it I’ve noticed that from time to time constructing XPath expression can get ugly. We are writing our tests in pure java and "ugliness" usually comes from string concatenation when some extra parameters must be taken into account. I’ve decided to write something that might help a bit with building XPaths without string concatenation.
At work I’m are engaged in the maintenance and development of a pretty big legacy monolithic application. Some time ago team size basically doubled. To keep things simple and activate more people we decided that we need to split the huge team into smaller more focused parties. Here is how we are working on many features of the same code base in single monolith with multiple teams.
Managing and versioning a bunch of connected libraries or services is hard. It doesn’t matter if you are a consumer or a provider of it. In this post, I’m exploring two simple solutions which might come in handy if you develop an ecosystem of libraries/services or when you are a consumer of those. It is all about semantic versioning and import scope of BOM in maven dependencies.
At work and in my private time I’m trying to get myself familiar with AWS cloud. Almost all of this is new for me. I know how to setup few things using AWS web console but infrastructure as a code was calling to me and I wanted to give it a spin. My first task was to create VPC with two pairs of subnets for private stuff and here is why I did it twice.