TIL 1

Posted on Sep 20, 2021

Today I Learned a.k.a TIL

FactoryBean

An amazing way to instantiate your beans based on different situations or conditions.

Example use case: I want a specific implementation of an interface based on some launch date. I can define that in the factory.

public class MessageFactoryBean implements FactoryBean<MessageInterface> {

    private MessageInterface postcard;
    private MessageInterface letter;

    public MessageInterface getObject() {
        if (your condition here) {
            return letter;
        }
        return postcard;
    }
    // other methods omitted
}

Where MessageInterface is implemented by PostCard and FormalLetter.

References:

Caffeinate

Keep your mac from falling asleep

  1. Open terminal
  2. Run the command
caffeinate -d

FYI it could stay awake without even blinking for centuries. At least in theory.