I would say going to bed early to and having a sleep schedule, like write a sleep schedule every day and put it somewhere so you can see it. Also try to relax and maybe place alarm clock
Get in bed 'on time'. If you have to wake up at a certain time, calculate backwards so that you have your 7-8 hours of sleep. If you need to get up early then, you will feel more rested and you will have less trouble with snoozing or feeling tired which were my reasons to stay in bed longer in the morning
Go to sleep earlier. Make an interesting routine associated with waking up earlier, for example a little healthy snack after succesful waking up.
That’s been a huge issue for me (I used to stay in bed until 2 regularly). I just had to start slow and it helped having the sun rise outside my window and the natural light coming in which woke me up between 8 and 9 usually. I allowed myself to stay in bed till whenever and slowly I’ve noticed that I have an easier time getting out of bed. It’s still insanely difficult when I have to wake up early, but it’s getting better slowly, so I’m happy with the progress I’ve made so far. I’ve also been pretty strict about when I go to bed and how many hours of sleep I get each night (I need 7 at minimum to function properly). That’s helped a lot too when I wake up feeling refreshed and having gotten a good nights sleep. Basically, as with most habits, start small, and slowly work your way up when you feel like you are set up for success (even if it doesn’t go perfectly at first).
You set an alarm that wakes you up earlier and earlier each time until you reach your wake up target. You want to get used to each alarm before you set the alarm for earlier. Also, try to find a sleep cycle app to keep you from feeling groggy when you wake up.
When going to bed at night decide the time you would like to wake up at. Also decide what you would do immediately after waking up. Very often we hit the snooze button because we do not know what we should do after waking up.