In the past, I’ve been doing various things with maven. Some of them were standard, some were more complicated and a couple of them were complex. For those complex solutions, I felt like I needed a plugin but I’ve never had enough time to write it properly. In this post, I’m going to explore the basics of writing maven plugin.
How beans are registered in spring and what is the base of beans creation, how to extend spring’s context to our needs? In this post, I’m going to dig into the foundation of many mechanics in spring framework - bean definition.
Some time ago I’ve faced a very interesting support issue. Long story short it turned out that one of our applications was not connecting to proper service and as a result, it’s been displaying invalid data to users. After a bit of investigation, I’ve noticed that spring’s configuration mechanism did fallback to default value because of missing configuration key for the production profile. In this post, I’m going to present to you how we are going to avoid similar issues in the future.
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 BeanPostProcessor
interface
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.