This is one of the ways to get a new instance of a type everytime we request for it from a singleton scoped instance.
@Lookup Informs spring container to getBean from method decorated with this annotation.
Creating a method in configuration class so that it can be used anywhere configuration is injected.
//ApplicationConfiguration.java
@Lookup
public UserDTO getUserDTOProtoTypeBean() {
    return null;
}
Make sure the UserDTO class is decorated with @Scope("prototype"). Now in your consuming class call this method when you need a new instance.
@Component
public class UserMapper {
    @Autowired
    ApplicationConfiguration appConfig;
    public UserDTO ToDto(User userEntity) {
        var UserDTO = appConfig.getUserDTOProtoTypeBean();
        ...
    }
}
Code On!
Originally Posted on Bitsmonkey
 

 
    
Top comments (0)