• MONEY за подписку! Ничего делать не надо совсем, всего-то подписаться на тг одмена и нажать кнопку "Принять участие" в розыгрыше: https://t.me/govthing/7650

Гайд Аннотации в Java 2

Forever Young
Forever Young
Статус
Оффлайн
Регистрация
11 Июл 2024
Сообщения
234
Реакции
3
Сап плотный братва, короче сегодня у нас Аннотации

@Entity
Указывает, что класс является сущностью в контексте ORM.
Код:
Expand Collapse Copy
@Entity
public class User {
// поля и методы
}

@Table
Задает имя таблицы в базе данных.
Код:
Expand Collapse Copy
@Entity
@Table(name = "users")
public class User {
// поля и методы
}

@Autowired
Используется в Spring Framework для автоматического внедрения зависимостей.
Код:
Expand Collapse Copy
@Autowired
private UserService userService;

@RequestMapping
Применяется в Spring для определения маршрутов HTTP-запросов к контроллерам.
Код:
Expand Collapse Copy
@RestController
@RequestMapping("/api/users")
public class UserController {
// обработчики запросов
}

@test
Аннотация из JUnit, указывающая, что метод является тестом.
Код:
Expand Collapse Copy
@Test
public void testUserCreation() {
// код теста
}

@Before
Обозначает метод, который будет выполнен перед каждым тестом в классе.
Код:
Expand Collapse Copy
@Before
public void setUp() {
// код подготовки
}

@After
Метод, который будет выполнен после каждого теста.
Код:
Expand Collapse Copy
@After
public void tearDown() {
// код очистки
}

@override
Эта аннотация говорит компилятору, что ты переопределяешь метод суперкласса. Если что-то не так, он сразу даст знать.
Код:
Expand Collapse Copy
@Override
public void toString() {
// код
}

@SuppressWarnings
Если компилятор начинает ругаться на что-то, но ты знаешь, что это нормально, можно использовать эту аннотацию, чтобы отключить предупреждения.
Код:
Expand Collapse Copy
@SuppressWarnings("unchecked")
public void doSomething() {
// код
}

@value
Если ты в Spring и нужно привязать значения из конфигурации, используешь @value. Очень удобно!
Код:
Expand Collapse Copy
@Value("${app.name}")
private String appName;

@Component
Эта аннотация говорит Spring, что класс — это компонент. Он его сам найдет и зарегистрирует.
Код:
Expand Collapse Copy
@Component
public class MyComponent {
// код
}

@service
Если у тебя есть бизнес-логика, вот сюда можно её запихнуть. @service — это для сервисов.
Код:
Expand Collapse Copy
@Service
public class UserService {
// код
}

@repository
Для классов, которые работают с базой данных, используем @repository. Это помогает Spring понять, что делать с данными.
Код:
Expand Collapse Copy
@Repository
public class UserRepository {
// код
}

@Transactional
Когда ты хочешь, чтобы метод выполнялся в рамках транзакции, добавляй эту аннотацию. Очень удобно для работы с базами.
Код:
Expand Collapse Copy
@Transactional
public void saveUser(User user) {
// код
}

@configuration
Эта аннотация обозначает, что класс содержит бины для Spring. Полезно, если ты настраиваешь приложение.
Код:
Expand Collapse Copy
@Configuration
public class AppConfig {
// код
}

@RequestBody
Используется в Spring для получения данных из тела HTTP-запроса. Полезно в REST API.
Код:
Expand Collapse Copy
@PostMapping("/users")
public void createUser(@RequestBody User user) {
// код
}

@ResponseBody
Позволяет вернуть данные прямо в теле ответа. Часто используется с контроллерами.
Код:
Expand Collapse Copy
@GetMapping("/users/{id}")
@ResponseBody
public User getUser(@PathVariable String id) {
// код
}

@PathVariable
Используется в Spring для извлечения переменных из URL. Удобно для динамических маршрутов.
Код:
Expand Collapse Copy
@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) {
// код
}

@Scheduled
Позволяет выполнять методы по расписанию. Очень полезно для фоновых задач.
Код:
Expand Collapse Copy
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
// код
}

@async
Позволяет выполнять методы асинхронно. Классно для долгих операций, чтобы не блокировать основной поток.
Код:
Expand Collapse Copy
@Async
public CompletableFuture<String> asyncMethod() {
// код
}

@PostConstruct
Эта аннотация говорит, что метод нужно выполнить сразу после создания бина. Полезно для инициализации.
Код:
Expand Collapse Copy
@PostConstruct
public void init() {
// код
}

@PreDestroy
Применяется для указания метода, который должен выполниться перед уничтожением бина.
Код:
Expand Collapse Copy
@PreDestroy
public void cleanup() {
// код
}

@Transactional(readOnly = true)
Если метод только читает данные из базы, можно добавить это для оптимизации.
Код:
Expand Collapse Copy
@Transactional(readOnly = true)
public List<User> getAllUsers() {
// код
}

@Valid
Используется для проверки корректности данных, например, в Spring при получении объектов.
Код:
Expand Collapse Copy
public void createUser(@Valid User user) {
// код
}

@NotNull
Часто используется вместе с @Valid для указания, что поле не должно быть null.
Код:
Expand Collapse Copy
@NotNull
private String name;

@Size
Эта аннотация помогает задать ограничения на длину строки.
Код:
Expand Collapse Copy
@Size(min = 2, max = 30)
private String username;

@JsonProperty
Используется для настройки сериализации/десериализации JSON в Jackson.
Код:
Expand Collapse Copy
@JsonProperty("user_name")
private String username;

@JsonIgnore
Позволяет игнорировать поле при сериализации/десериализации.
Код:
Expand Collapse Copy
@JsonIgnore
private String password;

@ConfigurationProperties
Используется для привязки свойств конфигурации к классу.
Код:
Expand Collapse Copy
@ConfigurationProperties(prefix = "app")
public class AppProperties {
// код
}

@Autowired(required = false)
Если зависимость не обязательна, можно использовать этот вариант.
Код:
Expand Collapse Copy
@Autowired(required = false)
private Optional<UserService> userService;

@RequestParam
Для получения параметров из HTTP-запроса. Удобно для GET-запросов.
Код:
Expand Collapse Copy
@GetMapping("/users")
public List<User> getUsers(@RequestParam(required = false) String name) {
// код
}

@ResponseStatus
Указывает статус HTTP-ответа. Полезно для обработки ошибок.
Код:
Expand Collapse Copy
@ResponseStatus(HttpStatus.NOT_FOUND)
public class UserNotFoundException extends RuntimeException {
// код
}

@ControllerAdvice
Обрабатывает исключения глобально в приложении. Удобно для централизованной обработки ошибок.
Код:
Expand Collapse Copy
@ControllerAdvice
public class GlobalExceptionHandler {
// код
}

@ExceptionHandler
Обрабатывает определенные исключения в контроллерах. Можно указать, какие именно исключения обрабатывать.
Код:
Expand Collapse Copy
@ExceptionHandler(UserNotFoundException.class)
public ResponseEntity<String> handleUserNotFound(UserNotFoundException ex) {
// код
}

@RequestMapping(method = RequestMethod.POST)
Для указания, что метод контроллера обрабатывает POST-запросы.
Код:
Expand Collapse Copy
@RequestMapping(value = "/users", method = RequestMethod.POST)
public void createUser(@RequestBody User user) {
// код
}

@RestController
Это просто комбинированная аннотация @Controller и @ResponseBody. Удобно для RESTful веб-сервисов.
Код:
Expand Collapse Copy
@RestController
public class UserController {
// код
}

@Crossorigin
Позволяет настраивать CORS (Cross-Origin Resource Sharing). Полезно, если у тебя фронт и бэк на разных доменах.
Код:
Expand Collapse Copy
@CrossOrigin(origins = "http://example.com")
@GetMapping("/users")
public List<User> getUsers() {
// код
}

@PROFILE
Позволяет настраивать, какие бины активны в зависимости от профиля среды.
Код:
Expand Collapse Copy
@Profile("dev")
@Bean
public DataSource dataSource() {
// код
}

@ComponentScan
Используется для указания пакетов, в которых нужно искать компоненты.
Код:
Expand Collapse Copy
@ComponentScan(basePackages = "com.example")
public class AppConfig {
// код
}

@bean
Позволяет объявлять бины в конфигурационном классе.
Код:
Expand Collapse Copy
@Bean
public UserService userService() {
// код
}

@Conditional
Эта аннотация используется для условной регистрации бинов. Полезно для гибкой настройки.
Код:
Expand Collapse Copy
@Conditional(SomeCondition.class)
@Bean
public SomeBean someBean() {
// код
}

@Scheduled(cron = "0 0 * * * ?")
Для задания расписания с помощью cron-выражений.
Код:
Expand Collapse Copy
@Scheduled(cron = "0 0 * * * ?")
public void scheduledTask() {
// код
}
 
Последнее редактирование:
нужна последовательность
 
Сап плотный братва,короче сегодня у нас Аннотациии

@Entity
Указывает, что класс является сущностью в контексте ORM.

Код:
Expand Collapse Copy
 @Entity public class User { // поля и методы }

@Table
Задает имя таблицы в базе данных.

Код:
Expand Collapse Copy
 @Entity @Table(name = "users") public class User { // поля и методы }

@Autowired
Используется в Spring Framework для автоматического внедрения зависимостей.

Код:
Expand Collapse Copy
 @Autowired private UserService userService;

@RequestMapping
Применяется в Spring для определения маршрутов HTTP-запросов к контроллерам.

Код:
Expand Collapse Copy
 @RestController @RequestMapping("/api/users") public class UserController { // обработчики запросов }

@test
Аннотация из JUnit, указывающая, что метод является тестом.

Код:
Expand Collapse Copy
 @Test public void testUserCreation() { // код теста }

@Before
Обозначает метод, который будет выполнен перед каждым тестом в классе.

Код:
Expand Collapse Copy
 @Before public void setUp() { // код подготовки }

@After
Метод, который будет выполнен после каждого теста.

Код:
Expand Collapse Copy
 @After public void tearDown() { // код очистки }

@override
Эта аннотация говорит компилятору, что ты переопределяешь метод суперкласса. Если что-то не так, он сразу даст знать.

Код:
Expand Collapse Copy
 @Override public void toString() { }

@SuppressWarnings
Если компилятор начинает ругаться на что-то, но ты знаешь, что это нормально, можно использовать эту аннотацию, чтобы отключить предупреждения.

Код:
Expand Collapse Copy
 @SuppressWarnings("unchecked") public void doSomething() { }

@value
Если ты в Spring и нужно привязать значения из конфигурации, используешь @value. Очень удобно!

Код:
Expand Collapse Copy
 @Value("${app.name}") private String appName;

@Component
Эта аннотация говорит Spring, что класс — это компонент. Он его сам найдет и зарегистрирует.

Код:
Expand Collapse Copy
 @Component public class MyComponent { }

@service
Если у тебя есть бизнес-логика, вот сюда можно её запихнуть. @service — это для сервисов.

Код:
Expand Collapse Copy
 @Service public class UserService { }

@repository
Для классов, которые работают с базой данных, используем @repository. Это помогает Spring понять, что делать с данными.

Код:
Expand Collapse Copy
 @Repository public class UserRepository { }

@Transactional
Когда ты хочешь, чтобы метод выполнялся в рамках транзакции, добавляй эту аннотацию. Очень удобно для работы с базами.

Код:
Expand Collapse Copy
 @Transactional public void saveUser(User user) { }

@configuration
Эта аннотация обозначает, что класс содержит бины для Spring. Полезно, если ты настраиваешь приложение.

Код:
Expand Collapse Copy
 @Configuration public class AppConfig { }
@RequestBody
Используется в Spring для получения данных из тела HTTP-запроса. Полезно в REST API.

Код:
Expand Collapse Copy
 @PostMapping("/users") public void createUser(@RequestBody User user) { }

@ResponseBody
Позволяет вернуть данные прямо в теле ответа. Часто используется с контроллерами.

Код:
Expand Collapse Copy
 @GetMapping("/users/{id}") @ResponseBody public User getUser(@PathVariable String id) { }

@PathVariable
Используется в Spring для извлечения переменных из URL. Удобно для динамических маршрутов.

Код:
Expand Collapse Copy
 @GetMapping("/users/{id}") public User getUser(@PathVariable String id) { }

@Scheduled
Позволяет выполнять методы по расписанию. Очень полезно для фоновых задач.

Код:
Expand Collapse Copy
 @Scheduled(fixedRate = 5000) public void reportCurrentTime() { }

@async
Позволяет выполнять методы асинхронно. Классно для долгих операций, чтобы не блокировать основной поток.

Код:
Expand Collapse Copy
 @Async public CompletableFuture<String> asyncMethod() { }

@PostConstruct
Эта аннотация говорит, что метод нужно выполнить сразу после создания бина. Полезно для инициализации.

Код:
Expand Collapse Copy
 @PostConstruct public void init() { }

@PreDestroy
Применяется для указания метода, который должен выполниться перед уничтожением бина.

Код:
Expand Collapse Copy
 @PreDestroy public void cleanup() { }

@Transactional(readOnly = true)
Если метод только читает данные из базы, можно добавить это для оптимизации.

Код:
Expand Collapse Copy
 @Transactional(readOnly = true) public List<User> getAllUsers() { }

@Valid
Используется для проверки корректности данных, например, в Spring при получении объектов.

Код:
Expand Collapse Copy
 public void createUser(@Valid User user) { }

@NotNull
Часто используется вместе с @Valid для указания, что поле не должно быть null.

Код:
Expand Collapse Copy
 @NotNull private String name;

@Size
Эта аннотация помогает задать ограничения на длину строки.

Код:
Expand Collapse Copy
 @Size(min = 2, max = 30) private String username;

@JsonProperty
Используется для настройки сериализации/десериализации JSON в Jackson.

Код:
Expand Collapse Copy
 @JsonProperty("user_name") private String username;

@JsonIgnore
Позволяет игнорировать поле при сериализации/десериализации.

Код:
Expand Collapse Copy
 @JsonIgnore private String password;

@ConfigurationProperties
Используется для привязки свойств конфигурации к классу.

Код:
Expand Collapse Copy
 @ConfigurationProperties(prefix = "app") public class AppProperties { }

@Autowired(required = false)
Если зависимость не обязательна, можно использовать этот вариант.

Код:
Expand Collapse Copy
 @Autowired(required = false) private Optional<UserService> userService;

@RequestParam
Для получения параметров из HTTP-запроса. Удобно для GET-запросов.

Код:
Expand Collapse Copy
 @GetMapping("/users") public List<User> getUsers(@RequestParam(required = false) String name) { }

@ResponseStatus
Указывает статус HTTP-ответа. Полезно для обработки ошибок.

Код:
Expand Collapse Copy
 @ResponseStatus(HttpStatus.NOT_FOUND) public class UserNotFoundException extends RuntimeException { }

@ControllerAdvice
Обрабатывает исключения глобально в приложении. Удобно для централизованной обработки ошибок.

Код:
Expand Collapse Copy
 @ControllerAdvice public class GlobalExceptionHandler { }

@ExceptionHandler
Обрабатывает определенные исключения в контроллерах. Можно указать, какие именно исключения обрабатывать.

Код:
Expand Collapse Copy
 @ExceptionHandler(UserNotFoundException.class) public ResponseEntity<String> handleUserNotFound(UserNotFoundException ex) { }

@RequestMapping(method = RequestMethod.POST)
Для указания, что метод контроллера обрабатывает POST-запросы.

Код:
Expand Collapse Copy
 @RequestMapping(value = "/users", method = RequestMethod.POST) public void createUser(@RequestBody User user) { }

@RestController
Это просто комбинированная аннотация @Controller и @ResponseBody. Удобно для RESTful веб-сервисов.

Код:
Expand Collapse Copy
 @RestController public class UserController { }

@Crossorigin
Позволяет настраивать CORS (Cross-Origin Resource Sharing). Полезно, если у тебя фронт и бэк на разных доменах.

Код:
Expand Collapse Copy
 @CrossOrigin(origins = "http://example.com") @GetMapping("/users") public List<User> getUsers() { }

@PROFILE
Позволяет настраивать, какие бины активны в зависимости от профиля среды.

Код:
Expand Collapse Copy
 @Profile("dev") @Bean public DataSource dataSource() { }

@ComponentScan
Используется для указания пакетов, в которых нужно искать компоненты.

Код:
Expand Collapse Copy
 @ComponentScan(basePackages = "com.example") public class AppConfig { }

@bean
Позволяет объявлять бины в конфигурационном классе.

Код:
Expand Collapse Copy
 @Bean public UserService userService() { }

@Conditional
Эта аннотация используется для условной регистрации бинов. Полезно для гибкой настройки.

Код:
Expand Collapse Copy
 @Conditional(SomeCondition.class) @Bean public SomeBean someBean() { }

@Scheduled(cron = "0 0 * * * ?")
Для задания расписания с помощью cron-выражений.

Код:
Expand Collapse Copy
 @Scheduled(cron = "0 0 * * * ?") public void scheduledTask() { }
мусор, какой смысл в половине из них? если тут обитают малолетние дети.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сап плотный братва, короче сегодня у нас Аннотации

@Entity
Указывает, что класс является сущностью в контексте ORM.
Код:
Expand Collapse Copy
@Entity
public class User {
// поля и методы
}

@Table
Задает имя таблицы в базе данных.
Код:
Expand Collapse Copy
@Entity
@Table(name = "users")
public class User {
// поля и методы
}

@Autowired
Используется в Spring Framework для автоматического внедрения зависимостей.
Код:
Expand Collapse Copy
@Autowired
private UserService userService;

@RequestMapping
Применяется в Spring для определения маршрутов HTTP-запросов к контроллерам.
Код:
Expand Collapse Copy
@RestController
@RequestMapping("/api/users")
public class UserController {
// обработчики запросов
}

@test
Аннотация из JUnit, указывающая, что метод является тестом.
Код:
Expand Collapse Copy
@Test
public void testUserCreation() {
// код теста
}

@Before
Обозначает метод, который будет выполнен перед каждым тестом в классе.
Код:
Expand Collapse Copy
@Before
public void setUp() {
// код подготовки
}

@After
Метод, который будет выполнен после каждого теста.
Код:
Expand Collapse Copy
@After
public void tearDown() {
// код очистки
}

@override
Эта аннотация говорит компилятору, что ты переопределяешь метод суперкласса. Если что-то не так, он сразу даст знать.
Код:
Expand Collapse Copy
@Override
public void toString() {
// код
}

@SuppressWarnings
Если компилятор начинает ругаться на что-то, но ты знаешь, что это нормально, можно использовать эту аннотацию, чтобы отключить предупреждения.
Код:
Expand Collapse Copy
@SuppressWarnings("unchecked")
public void doSomething() {
// код
}

@value
Если ты в Spring и нужно привязать значения из конфигурации, используешь @value. Очень удобно!
Код:
Expand Collapse Copy
@Value("${app.name}")
private String appName;

@Component
Эта аннотация говорит Spring, что класс — это компонент. Он его сам найдет и зарегистрирует.
Код:
Expand Collapse Copy
@Component
public class MyComponent {
// код
}

@service
Если у тебя есть бизнес-логика, вот сюда можно её запихнуть. @service — это для сервисов.
Код:
Expand Collapse Copy
@Service
public class UserService {
// код
}

@repository
Для классов, которые работают с базой данных, используем @repository. Это помогает Spring понять, что делать с данными.
Код:
Expand Collapse Copy
@Repository
public class UserRepository {
// код
}

@Transactional
Когда ты хочешь, чтобы метод выполнялся в рамках транзакции, добавляй эту аннотацию. Очень удобно для работы с базами.
Код:
Expand Collapse Copy
@Transactional
public void saveUser(User user) {
// код
}

@configuration
Эта аннотация обозначает, что класс содержит бины для Spring. Полезно, если ты настраиваешь приложение.
Код:
Expand Collapse Copy
@Configuration
public class AppConfig {
// код
}

@RequestBody
Используется в Spring для получения данных из тела HTTP-запроса. Полезно в REST API.
Код:
Expand Collapse Copy
@PostMapping("/users")
public void createUser(@RequestBody User user) {
// код
}

@ResponseBody
Позволяет вернуть данные прямо в теле ответа. Часто используется с контроллерами.
Код:
Expand Collapse Copy
@GetMapping("/users/{id}")
@ResponseBody
public User getUser(@PathVariable String id) {
// код
}

@PathVariable
Используется в Spring для извлечения переменных из URL. Удобно для динамических маршрутов.
Код:
Expand Collapse Copy
@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) {
// код
}

@Scheduled
Позволяет выполнять методы по расписанию. Очень полезно для фоновых задач.
Код:
Expand Collapse Copy
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
// код
}

@async
Позволяет выполнять методы асинхронно. Классно для долгих операций, чтобы не блокировать основной поток.
Код:
Expand Collapse Copy
@Async
public CompletableFuture<String> asyncMethod() {
// код
}

@PostConstruct
Эта аннотация говорит, что метод нужно выполнить сразу после создания бина. Полезно для инициализации.
Код:
Expand Collapse Copy
@PostConstruct
public void init() {
// код
}

@PreDestroy
Применяется для указания метода, который должен выполниться перед уничтожением бина.
Код:
Expand Collapse Copy
@PreDestroy
public void cleanup() {
// код
}

@Transactional(readOnly = true)
Если метод только читает данные из базы, можно добавить это для оптимизации.
Код:
Expand Collapse Copy
@Transactional(readOnly = true)
public List<User> getAllUsers() {
// код
}

@Valid
Используется для проверки корректности данных, например, в Spring при получении объектов.
Код:
Expand Collapse Copy
public void createUser(@Valid User user) {
// код
}

@NotNull
Часто используется вместе с @Valid для указания, что поле не должно быть null.
Код:
Expand Collapse Copy
@NotNull
private String name;

@Size
Эта аннотация помогает задать ограничения на длину строки.
Код:
Expand Collapse Copy
@Size(min = 2, max = 30)
private String username;

@JsonProperty
Используется для настройки сериализации/десериализации JSON в Jackson.
Код:
Expand Collapse Copy
@JsonProperty("user_name")
private String username;

@JsonIgnore
Позволяет игнорировать поле при сериализации/десериализации.
Код:
Expand Collapse Copy
@JsonIgnore
private String password;

@ConfigurationProperties
Используется для привязки свойств конфигурации к классу.
Код:
Expand Collapse Copy
@ConfigurationProperties(prefix = "app")
public class AppProperties {
// код
}

@Autowired(required = false)
Если зависимость не обязательна, можно использовать этот вариант.
Код:
Expand Collapse Copy
@Autowired(required = false)
private Optional<UserService> userService;

@RequestParam
Для получения параметров из HTTP-запроса. Удобно для GET-запросов.
Код:
Expand Collapse Copy
@GetMapping("/users")
public List<User> getUsers(@RequestParam(required = false) String name) {
// код
}

@ResponseStatus
Указывает статус HTTP-ответа. Полезно для обработки ошибок.
Код:
Expand Collapse Copy
@ResponseStatus(HttpStatus.NOT_FOUND)
public class UserNotFoundException extends RuntimeException {
// код
}

@ControllerAdvice
Обрабатывает исключения глобально в приложении. Удобно для централизованной обработки ошибок.
Код:
Expand Collapse Copy
@ControllerAdvice
public class GlobalExceptionHandler {
// код
}

@ExceptionHandler
Обрабатывает определенные исключения в контроллерах. Можно указать, какие именно исключения обрабатывать.
Код:
Expand Collapse Copy
@ExceptionHandler(UserNotFoundException.class)
public ResponseEntity<String> handleUserNotFound(UserNotFoundException ex) {
// код
}

@RequestMapping(method = RequestMethod.POST)
Для указания, что метод контроллера обрабатывает POST-запросы.
Код:
Expand Collapse Copy
@RequestMapping(value = "/users", method = RequestMethod.POST)
public void createUser(@RequestBody User user) {
// код
}

@RestController
Это просто комбинированная аннотация @Controller и @ResponseBody. Удобно для RESTful веб-сервисов.
Код:
Expand Collapse Copy
@RestController
public class UserController {
// код
}

@Crossorigin
Позволяет настраивать CORS (Cross-Origin Resource Sharing). Полезно, если у тебя фронт и бэк на разных доменах.
Код:
Expand Collapse Copy
@CrossOrigin(origins = "http://example.com")
@GetMapping("/users")
public List<User> getUsers() {
// код
}

@PROFILE
Позволяет настраивать, какие бины активны в зависимости от профиля среды.
Код:
Expand Collapse Copy
@Profile("dev")
@Bean
public DataSource dataSource() {
// код
}

@ComponentScan
Используется для указания пакетов, в которых нужно искать компоненты.
Код:
Expand Collapse Copy
@ComponentScan(basePackages = "com.example")
public class AppConfig {
// код
}

@bean
Позволяет объявлять бины в конфигурационном классе.
Код:
Expand Collapse Copy
@Bean
public UserService userService() {
// код
}

@Conditional
Эта аннотация используется для условной регистрации бинов. Полезно для гибкой настройки.
Код:
Expand Collapse Copy
@Conditional(SomeCondition.class)
@Bean
public SomeBean someBean() {
// код
}

@Scheduled(cron = "0 0 * * * ?")
Для задания расписания с помощью cron-выражений.
Код:
Expand Collapse Copy
@Scheduled(cron = "0 0 * * * ?")
public void scheduledTask() {
// код
}
А НАХУЯ ТУТ АННОТАЦИИ ДЛЯ SPRING?? В РАЗДЕЛЕ КУБОВ БЛЯТЬ))
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну пиздец же...
Дай мне хотяб одно нормальное применение спринга для узников читов на майн
Ну так спринг на сколько я знаю в кубоголовом мире не используется а тут как будто чисто по приколу хуйнули что бы было ну и чтобы с пастинга в спринг прыгнули ?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну так спринг на сколько я знаю в кубоголовом мире не используется а тут как будто чисто по приколу хуйнули что бы было ну и чтобы с пастинга в спринг прыгнули ?
ну вот и начал ты тему переводить и сам подтвердил что половина анотаций в даном разделе бесполезны))))
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
дерьмо даже не додумался проверить на реальном случае в спринге
 
Сап плотный братва, короче сегодня у нас Аннотации

@Entity
Указывает, что класс является сущностью в контексте ORM.
Код:
Expand Collapse Copy
@Entity
public class User {
// поля и методы
}

@Table
Задает имя таблицы в базе данных.
Код:
Expand Collapse Copy
@Entity
@Table(name = "users")
public class User {
// поля и методы
}

@Autowired
Используется в Spring Framework для автоматического внедрения зависимостей.
Код:
Expand Collapse Copy
@Autowired
private UserService userService;

@RequestMapping
Применяется в Spring для определения маршрутов HTTP-запросов к контроллерам.
Код:
Expand Collapse Copy
@RestController
@RequestMapping("/api/users")
public class UserController {
// обработчики запросов
}

@test
Аннотация из JUnit, указывающая, что метод является тестом.
Код:
Expand Collapse Copy
@Test
public void testUserCreation() {
// код теста
}

@Before
Обозначает метод, который будет выполнен перед каждым тестом в классе.
Код:
Expand Collapse Copy
@Before
public void setUp() {
// код подготовки
}

@After
Метод, который будет выполнен после каждого теста.
Код:
Expand Collapse Copy
@After
public void tearDown() {
// код очистки
}

@override
Эта аннотация говорит компилятору, что ты переопределяешь метод суперкласса. Если что-то не так, он сразу даст знать.
Код:
Expand Collapse Copy
@Override
public void toString() {
// код
}

@SuppressWarnings
Если компилятор начинает ругаться на что-то, но ты знаешь, что это нормально, можно использовать эту аннотацию, чтобы отключить предупреждения.
Код:
Expand Collapse Copy
@SuppressWarnings("unchecked")
public void doSomething() {
// код
}

@value
Если ты в Spring и нужно привязать значения из конфигурации, используешь @value. Очень удобно!
Код:
Expand Collapse Copy
@Value("${app.name}")
private String appName;

@Component
Эта аннотация говорит Spring, что класс — это компонент. Он его сам найдет и зарегистрирует.
Код:
Expand Collapse Copy
@Component
public class MyComponent {
// код
}

@service
Если у тебя есть бизнес-логика, вот сюда можно её запихнуть. @service — это для сервисов.
Код:
Expand Collapse Copy
@Service
public class UserService {
// код
}

@repository
Для классов, которые работают с базой данных, используем @repository. Это помогает Spring понять, что делать с данными.
Код:
Expand Collapse Copy
@Repository
public class UserRepository {
// код
}

@Transactional
Когда ты хочешь, чтобы метод выполнялся в рамках транзакции, добавляй эту аннотацию. Очень удобно для работы с базами.
Код:
Expand Collapse Copy
@Transactional
public void saveUser(User user) {
// код
}

@configuration
Эта аннотация обозначает, что класс содержит бины для Spring. Полезно, если ты настраиваешь приложение.
Код:
Expand Collapse Copy
@Configuration
public class AppConfig {
// код
}

@RequestBody
Используется в Spring для получения данных из тела HTTP-запроса. Полезно в REST API.
Код:
Expand Collapse Copy
@PostMapping("/users")
public void createUser(@RequestBody User user) {
// код
}

@ResponseBody
Позволяет вернуть данные прямо в теле ответа. Часто используется с контроллерами.
Код:
Expand Collapse Copy
@GetMapping("/users/{id}")
@ResponseBody
public User getUser(@PathVariable String id) {
// код
}

@PathVariable
Используется в Spring для извлечения переменных из URL. Удобно для динамических маршрутов.
Код:
Expand Collapse Copy
@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) {
// код
}

@Scheduled
Позволяет выполнять методы по расписанию. Очень полезно для фоновых задач.
Код:
Expand Collapse Copy
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
// код
}

@async
Позволяет выполнять методы асинхронно. Классно для долгих операций, чтобы не блокировать основной поток.
Код:
Expand Collapse Copy
@Async
public CompletableFuture<String> asyncMethod() {
// код
}

@PostConstruct
Эта аннотация говорит, что метод нужно выполнить сразу после создания бина. Полезно для инициализации.
Код:
Expand Collapse Copy
@PostConstruct
public void init() {
// код
}

@PreDestroy
Применяется для указания метода, который должен выполниться перед уничтожением бина.
Код:
Expand Collapse Copy
@PreDestroy
public void cleanup() {
// код
}

@Transactional(readOnly = true)
Если метод только читает данные из базы, можно добавить это для оптимизации.
Код:
Expand Collapse Copy
@Transactional(readOnly = true)
public List<User> getAllUsers() {
// код
}

@Valid
Используется для проверки корректности данных, например, в Spring при получении объектов.
Код:
Expand Collapse Copy
public void createUser(@Valid User user) {
// код
}

@NotNull
Часто используется вместе с @Valid для указания, что поле не должно быть null.
Код:
Expand Collapse Copy
@NotNull
private String name;

@Size
Эта аннотация помогает задать ограничения на длину строки.
Код:
Expand Collapse Copy
@Size(min = 2, max = 30)
private String username;

@JsonProperty
Используется для настройки сериализации/десериализации JSON в Jackson.
Код:
Expand Collapse Copy
@JsonProperty("user_name")
private String username;

@JsonIgnore
Позволяет игнорировать поле при сериализации/десериализации.
Код:
Expand Collapse Copy
@JsonIgnore
private String password;

@ConfigurationProperties
Используется для привязки свойств конфигурации к классу.
Код:
Expand Collapse Copy
@ConfigurationProperties(prefix = "app")
public class AppProperties {
// код
}

@Autowired(required = false)
Если зависимость не обязательна, можно использовать этот вариант.
Код:
Expand Collapse Copy
@Autowired(required = false)
private Optional<UserService> userService;

@RequestParam
Для получения параметров из HTTP-запроса. Удобно для GET-запросов.
Код:
Expand Collapse Copy
@GetMapping("/users")
public List<User> getUsers(@RequestParam(required = false) String name) {
// код
}

@ResponseStatus
Указывает статус HTTP-ответа. Полезно для обработки ошибок.
Код:
Expand Collapse Copy
@ResponseStatus(HttpStatus.NOT_FOUND)
public class UserNotFoundException extends RuntimeException {
// код
}

@ControllerAdvice
Обрабатывает исключения глобально в приложении. Удобно для централизованной обработки ошибок.
Код:
Expand Collapse Copy
@ControllerAdvice
public class GlobalExceptionHandler {
// код
}

@ExceptionHandler
Обрабатывает определенные исключения в контроллерах. Можно указать, какие именно исключения обрабатывать.
Код:
Expand Collapse Copy
@ExceptionHandler(UserNotFoundException.class)
public ResponseEntity<String> handleUserNotFound(UserNotFoundException ex) {
// код
}

@RequestMapping(method = RequestMethod.POST)
Для указания, что метод контроллера обрабатывает POST-запросы.
Код:
Expand Collapse Copy
@RequestMapping(value = "/users", method = RequestMethod.POST)
public void createUser(@RequestBody User user) {
// код
}

@RestController
Это просто комбинированная аннотация @Controller и @ResponseBody. Удобно для RESTful веб-сервисов.
Код:
Expand Collapse Copy
@RestController
public class UserController {
// код
}

@Crossorigin
Позволяет настраивать CORS (Cross-Origin Resource Sharing). Полезно, если у тебя фронт и бэк на разных доменах.
Код:
Expand Collapse Copy
@CrossOrigin(origins = "http://example.com")
@GetMapping("/users")
public List<User> getUsers() {
// код
}

@PROFILE
Позволяет настраивать, какие бины активны в зависимости от профиля среды.
Код:
Expand Collapse Copy
@Profile("dev")
@Bean
public DataSource dataSource() {
// код
}

@ComponentScan
Используется для указания пакетов, в которых нужно искать компоненты.
Код:
Expand Collapse Copy
@ComponentScan(basePackages = "com.example")
public class AppConfig {
// код
}

@bean
Позволяет объявлять бины в конфигурационном классе.
Код:
Expand Collapse Copy
@Bean
public UserService userService() {
// код
}

@Conditional
Эта аннотация используется для условной регистрации бинов. Полезно для гибкой настройки.
Код:
Expand Collapse Copy
@Conditional(SomeCondition.class)
@Bean
public SomeBean someBean() {
// код
}

@Scheduled(cron = "0 0 * * * ?")
Для задания расписания с помощью cron-выражений.
Код:
Expand Collapse Copy
@Scheduled(cron = "0 0 * * * ?")
public void scheduledTask() {
// код
}
:roflanBuldiga:
 
а причем тут блять java когда у тебя большинство аннотаций из спринга и Jpa с hibernate'ом
 
This is the only useful topic (imho)
 
Назад
Сверху Снизу