1.1 Quais dos seguintes tipos de informações relacionadas ao MVC (Model View Controller) são coletadas em métricas pelo “Spring Boot Actuator” por default?

  1. Requesting user

  2. HTTP method

  3. Accessed endpoint

  4. Response status

RESPOSTA: 2,3 e 4

O que é o Spring Boot Actuator:

Em essência, o Actuator traz recursos prontos para produção para nosso aplicativo. Monitorar nosso aplicativo, coletar métricas, entender o tráfego ou o estado de nosso banco de dados torna-se trivial com essa dependência. O principal benefício dessa biblioteca é que podemos obter ferramentas de nível de produção sem ter que realmente implementar esses recursos nós mesmos. O Actuator é usado principalmente para expor informações operacionais sobre o aplicativo em execução — integridade, métricas, informações, dump, env, etc. Ele usa endpoints HTTP ou JMX beans paraque possamos interagir com ele.

Por padrão, as métricas relacionadas ao Spring MVC são marcadas com as seguintes informações:


1.2 Que expressão SpEL começa com o caracter “#” ?

  1. Properties in the application environment
  2. Spring Beans
  3. Literal Values
  4. JVM Properties

RESPOSTA: item 2 Spring Beans

Podemos usar expressões para referenciar beans ou campos/métodos de beans. No exemplo abaixo, veremos como usar SpEL na configuração baseada em XML

public class Engine {
    private int capacity;
    private int horsePower;
    private int numberOfCylinders;

   // Getters and setters
}

public class Car {
    private String make;
    private int model;
    private Engine engine;
    private int horsePower;

   // Getters and setters
}

Agora criamos um contexto de aplicação no qual expressões são usadas para injetar valores:

<bean id="engine" class="com.baeldung.spring.spel.Engine">
   <property name="capacity" value="3200"/>
   <property name="horsePower" value="250"/>
   <property name="numberOfCylinders" value="6"/>
</bean>
<bean id="someCar" class="com.baeldung.spring.spel.Car">
   <property name="make" value="Some make"/>
   <property name="model" value="Some model"/>
   <property name="engine" value="#{engine}"/>
   <property name="horsePower" value="#{engine.horsePower}"/>
</bean>

Veja o bean someCar. Os campos engine e horsePower de someCar usam expressões que são referências de bean para o bean do Engine e o campo horsePower, respectivamente.

Para fazer o mesmo com configurações baseadas em anotação, use a anotação @Value(“#{expression}”).