程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

SpringBoot注解最全详解(9大常用注解)

balukai 2025-03-19 10:31:47 文章精选 4 ℃

springboot常用注解在springboot框架经常使用到,下面我就来详解常用的springboot常用注解@mikechen

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

1.@SpringBootApplication注解

该注解标识着一个应用程序的入口类,它组合了@Configuration、@EnableAutoConfiguration、@ComponentScan三个注解,用于简化配置。

如下图所示:

2.@RestController注解

该注解用于标识一个类是RESTful风格的控制器,相当于@Controller和@ResponseBody的组合。

示例:

@RestController
@RequestMapping("/api")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/users")
    public List getUsers() {
        return userService.getUsers();
    }

    @PostMapping("/users")
    public User addUser(@RequestBody User user) {
        return userService.addUser(user);
    }
}

3.@RequestMapping注解

该注解用于处理HTTP请求,可以用于类或方法上,用于指定请求的路径、请求方法、请求参数等。

示例:

@RestController
@RequestMapping("/api")
public class UserController {
    // ...

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable("id") Long id) {
        return userService.getUserById(id);
    }
}

4.@Autowired注解

该注解用于自动装配一个Bean,根据类型进行匹配,可以用于构造方法、属性、方法参数上。

示例:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserRepository userRepository;

    // ...
}

5.@Value注解

该注解用于注入配置属性,可以从properties或yml文件中读取配置信息,也可以直接注入常量。

@Component
public class AppConfig {
    @Value("${app.name}")
    private String appName;

    @Value("${app.version}")
    private String appVersion;

    // ...
}

6.@Component注解

该注解用于将一个类定义为一个组件,将其加入到Spring容器中。

示例:

@Component
public class MyComponent {
    // ...
}

7.@Service注解

该注解用于标识一个类是业务逻辑层的组件,通常与DAO层组合使用。

示例:

@Service
public class UserServiceImpl implements UserService {
    // ...
}

8.@Repository注解

该注解标识一个类是数据访问层的组件,通常用于与数据库交互的DAO层。

示例:

@Repository
public interface UserRepository extends JpaRepository {
    // ...
}

9.@Configuration注解

该注解用于标识一个类是Spring的配置类,用于替代xml配置文件,可以定义Bean、组件、拦截器等。

示例:

@Configuration
public class AppConfig {
    // ...
}

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

最近发表
标签列表