Совет по Java: ловите ошибки ещё на этапе компиляции — помечайте переопределённые методы аннотацией
Если сигнатура метода не совпадёт с методом родительского класса или интерфейса, компилятор сразу выдаст ошибку вместо тихого создания нового метода.
#Java #Annotations
👉 Java Portal
@Override.@Override
public void process() {
// logic
}
Если сигнатура метода не совпадёт с методом родительского класса или интерфейса, компилятор сразу выдаст ошибку вместо тихого создания нового метода.
#Java #Annotations
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчику пригодится это приложение.
Запуск эмулятора iOS или Android за секунды.
Бесплатное, нативное и с открытым исходным кодом:
→ http://minisim.app
👉 Java Portal
Запуск эмулятора iOS или Android за секунды.
Бесплатное, нативное и с открытым исходным кодом:
→ http://minisim.app
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Большинство разработчиков даже не знают, что GitHub умеет рендерит анимации прямо в README.
github.com/LottieFiles/do github.com/LottieFiles/do github.com/LottieFiles/do github.com/thorvg/thorvg/
👉 Java Portal
github.com/LottieFiles/do github.com/LottieFiles/do github.com/LottieFiles/do github.com/thorvg/thorvg/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Совет по Spring Boot: с Spring Boot и Spring Security вы можете легко защитить эндпоинты.
Чтобы защитить следующий REST endpoint:
Можно написать конфигурацию вот так:
Пояснение:
#SpringBoot #SpringSecurity
👉 Java Portal
Чтобы защитить следующий REST endpoint:
@RestController
public class MyController {
@GetMapping("/admin")
public String admin() {
...
}
...
}
Можно написать конфигурацию вот так:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin").authenticated()
.anyRequest().permitAll()
.and()
.httpBasic();
}
}
Пояснение:
authorizeRequests(): начинает определение эндпоинтов, которые нужно защитить.antMatchers("/admin").authenticated(): требует аутентификацию для /admin.anyRequest().permitAll(): все остальные эндпоинты являются публичными.httpBasic(): включает HTTP Basic-аутентификацию.#SpringBoot #SpringSecurity
Please open Telegram to view this post
VIEW IN TELEGRAM