spring
spring
Spring Annotations
Annotation Purpose Example
@Component Marks a class as a Spring-managed java @Component public class Car { private
DAO (Data Access Object) beans. public void save(User user) { // logic } }
@Controller Marks a class as a Spring MVC java @Controller public class UserController {
@Value Injects property values into fields or java @Value("${app.name}") private String
methods. appName;
@PostConstruct Marks a method to be run after java @PostConstruct public void init() { //
bean is used.
@PreDestroy Marks a method to be run before the java @PreDestroy public void cleanup() { //
controllers.
RequestMethod.DELETE) . userService.deleteUser(id); }
@Configuration Indicates that the class contains Spring configuration. java @Configuration public class
AppConfig { @Bean public DataSource
dataSource() { return new DataSource();
} }
@Bean Indicates that a method produces a bean to be java @Bean public DataSource
@Scheduled Marks a method to be executed periodically based on java @Scheduled(cron = "0 0 * * * ?")
@Profile Indicates that a bean is available only for a specific java @Profile("dev") @Bean public
@ComponentScan Specifies the packages to scan for Spring beans (if not java @ComponentScan(basePackages =
@Value Injects values from application properties into fields. java @Value("${app.name}") private
String appName;
@SpringBootTest Indicates that a test class is a Spring Boot test, running java @SpringBootTest public class
location of @PropertySource("classpath:application.properties")
public class AppConfig { }
property files
to be used
by the
application.
properties @EnableConfigurationProperties(AppConfig.class)
public class Application { }
from
configuration
files to a
Spring bean.
configuration
properties
file.
tests.
@Test Marks a method as a java @Test public void testUserService() { // test logic