- c'est quoi @cacheable en spring boot :
permet de mettre en cache les résultats d'une méthode.
Spring vérifie si les résultats de cette méthode sont déjà présents dans le cache.
Si c'est le cas, les résultats sont renvoyés à partir du cache sans exécuter la
méthode. Si les résultats ne sont pas présents dans le cache, la méthode est
exécutée normalement, puis les résultats sont mis en cache pour une utilisation
ultérieure.
@Cacheable("myCache") // Le cache portant le nom "myCache" sera utilisé
public String getData(String key) {
// Code pour récupérer les données (peut être une opération coûteuse)
return fetchedData;
}
L'annotation @Cacheable peut être utilisée avec différentes stratégies de mise en
cache, telles que la mise en cache basée sur la mémoire ou la mise en cache basée
sur une base de données externe. Le choix de la stratégie de cache dépend des
besoins spécifiques de votre application.
===================================================================================
================================================================================
- [Link] :
était utilisé pour la configuration de la couche web d'une application Spring MVC.
Le fichier [Link] était généralement placé dans le répertoire WEB-INF
d'une application web et était chargé par le conteneur de servlet (comme Tomcat)
lors du déploiement de l'application.
Ce fichier XML était utilisé pour définir les beans de configuration spécifiques à
la couche web, tels que les contrôleurs, les vues, les résolveurs de vue, les
gestionnaires d'exceptions, etc. Il contenait également les déclarations de la
configuration du servlet DispatcherServlet et éventuellement d'autres servlets ou
filtres de l'application.
Cependant, avec l'introduction de la configuration Java basée sur des annotations
dans Spring MVC, la plupart des fonctionnalités de configuration du fichier spring-
[Link] peuvent être réalisées en utilisant des annotations telles que
@Controller, @RequestMapping, @Configuration, @Bean, etc.
2. [Link]
Inversion of control (IoC) is the core of the Spring framework. In IoC enabled
framework, usually, a container is responsible for instantiating, creating, and
deleting objects. In Spring, applicationContext plays the role of an IoC container.
When developing a standard J2EE application, we declare the ContextLoaderListener
in the [Link] file. In addition, a contextConfigLocation is also defined to
indicate the XML configuration file.
[Link] || [Link]
A container that defines spring beans. || A front controller that processes
the incoming requests.
===================================================================================
================================================================================
- c'est quoi flatmap :
La fonction passée à flatMap est appliquée à chaque élément de la collection
d'origine, et elle doit retourner une nouvelle collection
List<String> words = [Link]("Hello", "World", "FlatMap");
List<String> letters = [Link]()
.flatMap(word -> [Link]([Link]("")))
.collect([Link]());
[Link](letters);
// Résultat : [H, e, l, l, o, W, o, r, l, d, F, l, a, t, M, a, p]
===================================================================================
================================================================================
- create Bean with constructor in spring :
To create a bean with a constructor in Spring, you can use the @Bean annotation in
combination with the @Configuration annotation.
@Configuration
public class MyConfig {
@Bean
public MyBean myBean() {
Dependency dependency = new Dependency(); // Create an instance of the
dependency
return new MyBean(dependency); // Create an instance of the bean using the
constructor
}
}
===================================================================================
================================================================================
- spring boot [Link] :
To create a filter using [Link] in a Spring Boot application, you can
follow these steps:
Create a new class that implements the [Link] interface. This class
will define the logic for your filter.
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// Initialization logic, if needed
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
// Filter logic
// Modify or inspect the request or response as needed
// Pass the request down the filter chain
[Link](request, response);
// Perform additional actions after the request has been processed by other
filters and servlet
}
@Override
public void destroy() {
// Cleanup logic, if needed
}
}
Configuration
public class MyFilterConfig {
@Bean
public FilterRegistrationBean<MyFilter> myFilterRegistration() {
FilterRegistrationBean<MyFilter> registration = new
FilterRegistrationBean<>();
[Link](new MyFilter());
[Link]("/*"); // Set the URL patterns on which the
filter should be applied
[Link](1); // Set the order of the filter execution
return registration;
}
}
===================================================================================
================================================================================
- advice spring lever une exception java :
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler([Link])
public ResponseEntity<String> handleNotFoundException(NotFoundException ex) {
return new ResponseEntity<>([Link](), HttpStatus.NOT_FOUND);
}
// Autres méthodes d'exception handlers...
}
===================================================================================
================================================================================
===================================================================================
================================================================================
===================================================================================
================================================================================