reworked the conditional example. now, if you run the example you'll see that - depending on whether the specified properties are present in the Environment - beans are created. In effect, the annotation does an upfront check saying to not even bother creating the database. This is useful for example if one set of properties exists in one environment but another set exists in another. In dev, you might have a property triggering the creation of an embedded database while in production you might have cinfiguration that triggers the creation of a more production-ready bean.