As Sanjay Bandhniya said, the most consistent way is to create a binding between your new aspect and your type (or another aspect) during the creation of a new node against the repo.
Anyway, there is an alternative way that strongly depends on how you are building the space tree structure for your contents.
You can also configure a rule on a space that includes the "Add Aspect" action for any new content dropped in the space. You can also select the domain of contents in the space that should be involved, for example you can consider only contents with specific types, property values or that have any other aspects. This will help you on implementing your decoration policy for any type.
Only when these conditions are validated then the aspect will be added at runtime as a decoration for the node just arrived in the space.
Please see the following page from the documentation for creating a new rule:
Creating a rule | Alfresco Documentation
I suggest to try this method because it is very quick and you don't need to implement in Java your own behaviors.
Hope this helps.