Add bitcoin payments to java app using BitcoinJ

I need to add Bitcoin payment to my application using the BitcoinJ library, but I’m new to using Bitcoin. I have one thought To create a new address for each new user, but I don’t know if this is the right approach or not. Please tell me how to implement it correctly.

(I need to determine from which user the payment was received and in what amount)