package com.mavlushechka.barbershop; import com.mavlushechka.barbershop.domain.Level; import com.mavlushechka.barbershop.domain.Role; import com.mavlushechka.barbershop.repository.LevelRepository; import com.mavlushechka.barbershop.repository.RoleRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; @SpringBootApplication public class Application { @Autowired private RoleRepository roleRepository; @Autowired private LevelRepository levelRepository; public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean CommandLineRunner init() { return args -> { save(new Role("Admin")); save(new Role("User")); save(new Level("Junior")); save(new Level("Middle")); save(new Level("Senior")); }; } private void save(Role role) { if (roleRepository.findByName(role.getName()) == null) { roleRepository.save(role); } } private void save(Level level) { if (levelRepository.findByName(level.getName()) == null) { levelRepository.save(level); } } }