如何使用spring启动一个后端java项目?

我正在启动一个spring boot java项目。我知道我不应该在main方法和主类中编码。

这是不是一个坏方法?

@SpringBootApplication
public class CesckproApplication implements CommandLineRunner{

    @Autowired
    private ProcesoPrincipal pp;

    public static void main(String[] args) throws Exception {            
        SpringApplication.run(CanalCorSdqsApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {       
        pp.consulta();      
        // mycode here....  
    }
}

有什么其他方法可以在不接触主类的情况下执行其他类的代码? 我看到一些类似的方法。

@SpringBootApplication
public class CanalCorSdqsApplication{

    @Autowired
    private ProcesoPrincipal pp;

    public static void main(String[] args) throws Exception {            
        SpringApplication.run(CanalCorSdqsApplication.class, args);       
    }
}

还有:

@Component
public class ProcesoPrincipal  implements CommandLineRunner {


    @Override
    public void run(String... args) throws Exception {       
         consulta();        
     }

    public void consulta(){
        // my code here
    }   

}

还有其他的方法吗? 文件中是怎么说的?


StackOverflow:how to strart a backend java project using spring? - Stack Overflow