Como o código fonte do java consegue pegar os properties dos profiles do maven?

Tenho um exemplo de profiles no maven

<

    <profile>
        <id>profile-development</id>
        <properties>
            <environment>dev</environment>
            <db.username>user</db.username>
            <db.password>1234</db.password>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
            <property>
                <name>environment</name>
                <value>dev</value>
            </property>
        </activation>
    </profile>

No caso tenho ambientes diferentes dev, prod e andei lendo a documentação do maven e vi que usando o trecho de anotações acima, é possível fazer o fonte pegar dados de prod ou homologacão, só que não encontro na documentação nem em lugar nenhum sobre como o código fonte do java puxa essas informações apartir do pom.

Como assim, código fonte java puxa as informações a partir do pom?
Na realidade, tudo é processado pelo maven (Tanto que você precisa ter um JDK devidamente instalado e configurado pro maven funcionar, não é?).
É ele, a partir da configuração definida no pom,xml, que irá empacotar tudo o que está no projeto e criar o artefato.
Se a dúvida é sobre como o maven sabe qual profile ativar em um determinado pode entender melhor aqui

não , não é essa a dúvida, no maven a gente consegue usar profiles para colocar informações, e a gente pode por informaçoes de homologação e produção , links , endereços, etc, só que não sei como puxar essas informaçoes no java

Explique melhor o teu contexto, pois está confuso demais.

no exemplo abaixo tem um profile com a usuario e senha do banco do ambiente de desenvolvimento e de prod, não quero ficar setando na aplicação os dois direto, como essas informações estão dentro do profile tem uma forma de eu apenas puxar elas dele

< profiles>