@jfelrod1960 Well still not exactly sure what you're looking for in terms of loading. When you hit a URL, first potentially any interceptor/webfilter will fire and either redirect, send back an error, or just let the request continue on. Then a resolver behind the scenes looks at your URLMappings.groovy and figures out based on the URL what controller to call or view to render. Once in the controller, your code takes over binding command objects, calling services, redirecting, forwarding, rendering a response, etc. The controllers and services by default have a singleton instance that is preloaded on startup, although you can override the default and have them created per request or per session, in which the framework would create them per request or session. Generally, I stick to the default for simplicity. In the background during startup, the app does create, an application context, which holds the state of the app, including what beans(services are beans) it created, config, etc. In the controllers/services, you can wire whatever beans you want, by creating properties and they will be auto-wired by name unless it is a DataService(newer concept) which I believe they are auto-wired by type. Of course, you can put whatever you want in src/main/groovy are manually wire it using resources.groovy, but then you're not really taking advantage of the convention over configuration, that Grails is known for. Although there are times when you might do something manually in src/main/groovy, or override something.