Spring Boot 提供了大量的注解,用于简化配置和加速程序开发。
那么接下来,咱们就一起来看下 Spring Boot 中的常用注解有哪些?及其这些注解的具体使用。
@Component
public class MyComponent {
public void doSomething() {
System.out.println("MyComponent is doing something.");
}
}
@ComponentScan("com.example") // 扫描com.example包下的组件,加载到Spring容器
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@Controller
public class MyController {
@Autowired
private final UserService userService;
@GetMapping("/user")
public String getUser(Model model) {
User user = userService.getUserById(1);
model.addAttribute("user", user);
return "user";
}
}
@RestController
public class MyController {
@Autowired
private final UserService userService;
@GetMapping("/user")
public User getUser() {
User user = userService.getUserById(1);
return user;
}
}
@Service
public class MyService {
}
@Repository
public interface UserDao {
}
@Configuration
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
@Configuration
public class AppConfig {
}
@Configuration
public class AppConfig {
@Bean
@Scope("prototype")
public MyPrototypeBean myPrototypeBean() {
return new MyPrototypeBean();
}
}
@RestController
public class MyController {
@Autowired
private final UserService userService;
@GetMapping("/user")
public User getUser() {
User user = userService.getUserById(1);
return user;
}
}
@RestController
public class MyController {
@Resource
private final UserService userService;
@GetMapping("/user")
public User getUser() {
User user = userService.getUserById(1);
return user;
}
}
@RestController
public class MyController {
@Autowired
@Qualifier("userService")
private final UserService us;
@GetMapping("/user")
public User getUser() {
User user = userService.getUserById(1);
return user;
}
}
@RestController
@RequestMapping("/contoller")
public class MyController {
@Resource
private final UserService userService;
@RequestMapping("/user")
public User getUser() {
User user = userService.getUserById(1);
return user;
}
}
@RestController
@GetMapping("/contoller")
public class MyController {
@Resource
private final UserService userService;
@GetMapping("/user")
public User getUser() {
User user = userService.getUserById(1);
return user;
}
}
@RestController
public class MyController {
@GetMapping("/hello")
public String sayHello(@RequestParam("name") String userName) {
return "Hello, " + userName;
}
}
@GetMapping("/user/{userId}")
public String getUserById(@PathVariable("userId") Long id) {
return "User with ID " + id;
}
@Controller
public class MyController {
@PostMapping("/submit")
public String submitData(@RequestBody MyData myData) {
System.out.println(myData);
return "success";
}
}
@RestController
public class MyController {
@GetMapping("/data")
@ResponseBody
public String getData() {
return "Some data";
}
}
@Component
public class MyComponent {
@Value("${my.property}")
private String myPropertyValue;
public void printValue() {
System.out.println(myPropertyValue);
}
}
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "my.app")
public class MyAppProperties {
private String property1;
private int property2;
// Getters and setters
}
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class MyService {
@Transactional
public void performTransactionalOperation() {
// Database operations
}
}
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class MyScheduledTask {
@Scheduled(fixedRate = 5000)
public void performTask() {
System.out.println("Task executed.");
}
}
Spring Boot 中的注解用很多,本文也是走马观花的带大家了解了一下 Spring Boot 中的常见注解。当然这些注解也不需要全部记住,只需有一个大概的印象即可,用的时候再查具体的使用就可以了。最后,欢迎小伙伴在评论区补充和发表更多的常用注解。
本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:并发编程、MySQL、Redis、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、JVM、设计模式、消息队列等模块。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。