Sure. At its core, auto-configuration isn't really that much magic. It's just a use-case for Spring 4.0's @Conditional. In short, all you need is a configuration class with @Bean-annotated method for whatever custom components you want, a @Conditional or two along with corresponding implementations of Condition and you're set. (Optionally...and perhaps preferably...you might take advantage of some of Spring Boot's pre-defined @ConditionalOnXXX annotations for common conditional scenarios.) Take a look at the Spring Boot auto-configuration source code at
https://github.com/spring-projects/spring-boot to see examples of how it works under the covers.
That said, you only really need to provide auto-configuration for custom components if you plan on sharing those custom components with other teams/projects. If it's just for your app, then it's simple enough to write a @Configuration class and define the beans just like you would without Spring Boot...Java config classes will still be picked up (by way of component-scanning) and the beans therein created in the application context. (And yes, you can use XML if you really want to, but we don't like talking about that much. If you *REALLY* want to do XML config, see the @ImportResource annotation to see how to do it...but consider using
Java config instead.)