I'm a java developer and a newbie with blockchain. I want to build a simple Defi app with a simple smart contract. please tell me know steps by steps to do that?

1. how to setup environment?
2. which the best IDE should be used to write code?
3. which framework should be used? how to compile and deploy?
I want to use java to build this app, but Java is not supported to write smart contract, so need to combine Java and solidity. but I don't know how to combine them.

Thank you for any responses.