-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Сап плотный братва, короче сегодня у нас Аннотации
Entity
Указывает, что класс является сущностью в контексте ORM.
@Table
Задает имя таблицы в базе данных.
@Autowired
Используется в Spring Framework для автоматического внедрения зависимостей.
@RequestMapping
Применяется в Spring для определения маршрутов HTTP-запросов к контроллерам.
test
Аннотация из JUnit, указывающая, что метод является тестом.
Before
Обозначает метод, который будет выполнен перед каждым тестом в классе.
After
Метод, который будет выполнен после каждого теста.
override
Эта аннотация говорит компилятору, что ты переопределяешь метод суперкласса. Если что-то не так, он сразу даст знать.
@SuppressWarnings
Если компилятор начинает ругаться на что-то, но ты знаешь, что это нормально, можно использовать эту аннотацию, чтобы отключить предупреждения.
value
Если ты в Spring и нужно привязать значения из конфигурации, используешь value. Очень удобно!
@Component
Эта аннотация говорит Spring, что класс — это компонент. Он его сам найдет и зарегистрирует.
service
Если у тебя есть бизнес-логика, вот сюда можно её запихнуть. service — это для сервисов.
repository
Для классов, которые работают с базой данных, используем repository. Это помогает Spring понять, что делать с данными.
@Transactional
Когда ты хочешь, чтобы метод выполнялся в рамках транзакции, добавляй эту аннотацию. Очень удобно для работы с базами.
configuration
Эта аннотация обозначает, что класс содержит бины для Spring. Полезно, если ты настраиваешь приложение.
@RequestBody
Используется в Spring для получения данных из тела HTTP-запроса. Полезно в REST API.
@ResponseBody
Позволяет вернуть данные прямо в теле ответа. Часто используется с контроллерами.
@PathVariable
Используется в Spring для извлечения переменных из URL. Удобно для динамических маршрутов.
@Scheduled
Позволяет выполнять методы по расписанию. Очень полезно для фоновых задач.
async
Позволяет выполнять методы асинхронно. Классно для долгих операций, чтобы не блокировать основной поток.
@PostConstruct
Эта аннотация говорит, что метод нужно выполнить сразу после создания бина. Полезно для инициализации.
@PreDestroy
Применяется для указания метода, который должен выполниться перед уничтожением бина.
@Transactional(readOnly = true)
Если метод только читает данные из базы, можно добавить это для оптимизации.
@Valid
Используется для проверки корректности данных, например, в Spring при получении объектов.
@NotNull
Часто используется вместе с @Valid для указания, что поле не должно быть null.
Size
Эта аннотация помогает задать ограничения на длину строки.
@JsonProperty
Используется для настройки сериализации/десериализации JSON в Jackson.
@JsonIgnore
Позволяет игнорировать поле при сериализации/десериализации.
@ConfigurationProperties
Используется для привязки свойств конфигурации к классу.
@Autowired(required = false)
Если зависимость не обязательна, можно использовать этот вариант.
@RequestParam
Для получения параметров из HTTP-запроса. Удобно для GET-запросов.
@ResponseStatus
Указывает статус HTTP-ответа. Полезно для обработки ошибок.
@ControllerAdvice
Обрабатывает исключения глобально в приложении. Удобно для централизованной обработки ошибок.
@ExceptionHandler
Обрабатывает определенные исключения в контроллерах. Можно указать, какие именно исключения обрабатывать.
@RequestMapping(method = RequestMethod.POST)
Для указания, что метод контроллера обрабатывает POST-запросы.
@RestController
Это просто комбинированная аннотация @Controller и @ResponseBody. Удобно для RESTful веб-сервисов.
Crossorigin
Позволяет настраивать CORS (Cross-Origin Resource Sharing). Полезно, если у тебя фронт и бэк на разных доменах.
PROFILE
Позволяет настраивать, какие бины активны в зависимости от профиля среды.
@ComponentScan
Используется для указания пакетов, в которых нужно искать компоненты.
bean
Позволяет объявлять бины в конфигурационном классе.
@Conditional
Эта аннотация используется для условной регистрации бинов. Полезно для гибкой настройки.
@Scheduled(cron = "0 0 * * * ?")
Для задания расписания с помощью cron-выражений.
Entity
Указывает, что класс является сущностью в контексте ORM.
Код:
@Entity
public class User {
// поля и методы
}
Задает имя таблицы в базе данных.
Код:
@Entity
@Table(name = "users")
public class User {
// поля и методы
}
Используется в Spring Framework для автоматического внедрения зависимостей.
Код:
@Autowired
private UserService userService;
Применяется в Spring для определения маршрутов HTTP-запросов к контроллерам.
Код:
@RestController
@RequestMapping("/api/users")
public class UserController {
// обработчики запросов
}
Аннотация из JUnit, указывающая, что метод является тестом.
Код:
@Test
public void testUserCreation() {
// код теста
}
Обозначает метод, который будет выполнен перед каждым тестом в классе.
Код:
@Before
public void setUp() {
// код подготовки
}
Метод, который будет выполнен после каждого теста.
Код:
@After
public void tearDown() {
// код очистки
}
Эта аннотация говорит компилятору, что ты переопределяешь метод суперкласса. Если что-то не так, он сразу даст знать.
Код:
@Override
public void toString() {
// код
}
Если компилятор начинает ругаться на что-то, но ты знаешь, что это нормально, можно использовать эту аннотацию, чтобы отключить предупреждения.
Код:
@SuppressWarnings("unchecked")
public void doSomething() {
// код
}
Если ты в Spring и нужно привязать значения из конфигурации, используешь value. Очень удобно!
Код:
@Value("${app.name}")
private String appName;
Эта аннотация говорит Spring, что класс — это компонент. Он его сам найдет и зарегистрирует.
Код:
@Component
public class MyComponent {
// код
}
Если у тебя есть бизнес-логика, вот сюда можно её запихнуть. service — это для сервисов.
Код:
@Service
public class UserService {
// код
}
Для классов, которые работают с базой данных, используем repository. Это помогает Spring понять, что делать с данными.
Код:
@Repository
public class UserRepository {
// код
}
Когда ты хочешь, чтобы метод выполнялся в рамках транзакции, добавляй эту аннотацию. Очень удобно для работы с базами.
Код:
@Transactional
public void saveUser(User user) {
// код
}
Эта аннотация обозначает, что класс содержит бины для Spring. Полезно, если ты настраиваешь приложение.
Код:
@Configuration
public class AppConfig {
// код
}
Используется в Spring для получения данных из тела HTTP-запроса. Полезно в REST API.
Код:
@PostMapping("/users")
public void createUser(@RequestBody User user) {
// код
}
Позволяет вернуть данные прямо в теле ответа. Часто используется с контроллерами.
Код:
@GetMapping("/users/{id}")
@ResponseBody
public User getUser(@PathVariable String id) {
// код
}
Используется в Spring для извлечения переменных из URL. Удобно для динамических маршрутов.
Код:
@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) {
// код
}
Позволяет выполнять методы по расписанию. Очень полезно для фоновых задач.
Код:
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
// код
}
Позволяет выполнять методы асинхронно. Классно для долгих операций, чтобы не блокировать основной поток.
Код:
@Async
public CompletableFuture<String> asyncMethod() {
// код
}
Эта аннотация говорит, что метод нужно выполнить сразу после создания бина. Полезно для инициализации.
Код:
@PostConstruct
public void init() {
// код
}
Применяется для указания метода, который должен выполниться перед уничтожением бина.
Код:
@PreDestroy
public void cleanup() {
// код
}
Если метод только читает данные из базы, можно добавить это для оптимизации.
Код:
@Transactional(readOnly = true)
public List<User> getAllUsers() {
// код
}
Используется для проверки корректности данных, например, в Spring при получении объектов.
Код:
public void createUser(@Valid User user) {
// код
}
Часто используется вместе с @Valid для указания, что поле не должно быть null.
Код:
@NotNull
private String name;
Эта аннотация помогает задать ограничения на длину строки.
Код:
@Size(min = 2, max = 30)
private String username;
Используется для настройки сериализации/десериализации JSON в Jackson.
Код:
@JsonProperty("user_name")
private String username;
Позволяет игнорировать поле при сериализации/десериализации.
Код:
@JsonIgnore
private String password;
Используется для привязки свойств конфигурации к классу.
Код:
@ConfigurationProperties(prefix = "app")
public class AppProperties {
// код
}
Если зависимость не обязательна, можно использовать этот вариант.
Код:
@Autowired(required = false)
private Optional<UserService> userService;
Для получения параметров из HTTP-запроса. Удобно для GET-запросов.
Код:
@GetMapping("/users")
public List<User> getUsers(@RequestParam(required = false) String name) {
// код
}
Указывает статус HTTP-ответа. Полезно для обработки ошибок.
Код:
@ResponseStatus(HttpStatus.NOT_FOUND)
public class UserNotFoundException extends RuntimeException {
// код
}
Обрабатывает исключения глобально в приложении. Удобно для централизованной обработки ошибок.
Код:
@ControllerAdvice
public class GlobalExceptionHandler {
// код
}
Обрабатывает определенные исключения в контроллерах. Можно указать, какие именно исключения обрабатывать.
Код:
@ExceptionHandler(UserNotFoundException.class)
public ResponseEntity<String> handleUserNotFound(UserNotFoundException ex) {
// код
}
Для указания, что метод контроллера обрабатывает POST-запросы.
Код:
@RequestMapping(value = "/users", method = RequestMethod.POST)
public void createUser(@RequestBody User user) {
// код
}
Это просто комбинированная аннотация @Controller и @ResponseBody. Удобно для RESTful веб-сервисов.
Код:
@RestController
public class UserController {
// код
}
Позволяет настраивать CORS (Cross-Origin Resource Sharing). Полезно, если у тебя фронт и бэк на разных доменах.
Код:
@CrossOrigin(origins = "http://example.com")
@GetMapping("/users")
public List<User> getUsers() {
// код
}
Позволяет настраивать, какие бины активны в зависимости от профиля среды.
Код:
@Profile("dev")
@Bean
public DataSource dataSource() {
// код
}
Используется для указания пакетов, в которых нужно искать компоненты.
Код:
@ComponentScan(basePackages = "com.example")
public class AppConfig {
// код
}
Позволяет объявлять бины в конфигурационном классе.
Код:
@Bean
public UserService userService() {
// код
}
Эта аннотация используется для условной регистрации бинов. Полезно для гибкой настройки.
Код:
@Conditional(SomeCondition.class)
@Bean
public SomeBean someBean() {
// код
}
Для задания расписания с помощью cron-выражений.
Код:
@Scheduled(cron = "0 0 * * * ?")
public void scheduledTask() {
// код
}
Последнее редактирование: