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

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

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

1.@SpringBootApplication注解

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

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

如下图所示:

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

 

2.@RestController注解

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

示例:

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

    @GetMapping("/users")
    public List<User> 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<User, Long> {
    // ...
}

 

9.@Configuration注解

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

示例:

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

以上就是springboot常用注解详解,更多内容请查看:SpringBoot框架教程(详细图文详解)

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法