前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBootWebProject学习5、常用注解说明

SpringBootWebProject学习5、常用注解说明

作者头像
红目香薰
发布2024-04-27 08:40:27
500
发布2024-04-27 08:40:27
举报
文章被收录于专栏:CSDNToQQCodeCSDNToQQCode

前言

距离本学期结束就要去实习的时间已经很短了,那么在这里我帮助大家完整的回忆一下SpringBoot的完整操作,为了更加直接体现完整的过程我会使用层叠法来完成这个系列文章,会从最新版本idea社区版本的下载开始,直至我们代码开发的整个阶段,可以将接口完全搞出来,跨域后让前端的项目可以解析,完成整个开发的闭环操作,准备工作的孩子们可以持续的跟着看看,应该会给你提供比较大的帮助。

声明:由于刚毕业的还比不可能上来就上大的微服务架构,所以这里不提供springcloud内容,当然我会在下一个系列中将本次学到的整个springboot融入到springcloud中。

系统与开发环境

系统:Windows 11 家庭中文版 idea:官网2024年1月最新社区版本:ideaIC-2024.1 数据库:阿里云RDS for MySQL 5.7

基础idea环境搭建

SpringBootWebProject学习1、环境搭建-CSDN博客

通过以上链接即可查看idea免费社区版本的安装完整流程。

基础maven配置(外部独立maven)

SpringBootWebProject学习2、maven配置-CSDN博客

通过以上链接即可查看idea的外部maven项目配置。

基础maven默认配置(默认maven)

SpringBootWebProject学习2、默认maven使用-CSDN博客

通过以上链接即可查看idea的默认maven项目配置。

SpringBootWebProject学习——正文——常用注解说明

常用的注解也就十来个,这里会多展示一些。

@SpringBootApplication

这是一个组合注解,包括了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解。用于标识SpringBoot应用程序的入口类。

@SpringBootApplication注解通常被用于Spring Boot应用程序的入口类上,用于启动Spring Boot应用程序。它可以简化spring应用程序的配置和启动过程。

代码语言:javascript
复制
@SpringBootApplication
public class Action {

    public static void main(String[] args) {
        SpringApplication.run(Action.class, args);
    }
}
@RestController

@RestController会自动将返回值转换为JSON格式。

@Autowired

用于自动装配Spring容器中的Bean,经常会使用引入dao层接口。

@RequestMapping

用于映射请求URL和处理方法。@RequestMapping是Spring MVC框架中的一个核心注解,它用于映射HTTP请求和控制器方法之间的关系。它可以用于类级别和方法级别,用于指定请求URL和HTTP方法(GET、POST、PUT、DELETE等)。

@GetMapping

用于映射HTTP GET请求。

@PostMapping

用于映射HTTP POST请求。

@RequestParam

用于获取请求参数的值。

代码语言:javascript
复制
@RestController
@RequestMapping("/api")
public class UsersController {

    @GetMapping("/users")
    public List<User> getUsers(@RequestParam("page") int page, @RequestParam("size") int size) {
       /*获取page与size参数*/
    }
}
@PathVariable

用于获取URL中的参数值。

代码语言:javascript
复制
@GetMapping("/users/{id}")
    public User getUser(@PathVariable Long id) {
        // 可以看到路径上的{id}
    }
@RequestBody

用于将HTTP请求体中的数据绑定到控制器方法的参数上。

代码语言:javascript
复制
public User createUser(@RequestBody User user) {}
@ResponseBody

用于将控制器方法的返回值转换为HTTP响应体中的数据。

代码语言:javascript
复制
    @GetMapping("/users/{id}")
    @ResponseBody
    public User getUser(@RequestBody int id) {
        // 从数据库或其他地方获取用户数据
        User user = userService.getUserById(id);
        return user;
    }
@Component

用于标注一个类作为Spring Bean。

代码语言:javascript
复制
@Component
public class OrderServiceImpl implements OrderService {

    // 实现OrderService接口中的方法
}
@Service

用于标注一个类作为服务类(Service)。

代码语言:javascript
复制
@Service
public class OrderServiceImpl implements OrderService {

    // 实现OrderService接口中的方法
}
@Repository

用于标注一个类作为数据访问对象(DAO)。

代码语言:javascript
复制
@Repository
public class OrderRepositoryImpl implements OrderRepository {

    // 实现OrderRepository接口中的方法
}
@Configuration

用于标注一个类作为配置类。

代码语言:javascript
复制
@Configuration
public class AppConfig {

    @Bean
    public OrderService orderService() {
        return new OrderServiceImpl();
    }

    @Bean
    public OrderRepository orderRepository() {
        return new OrderRepositoryImpl();
    }
}
@Value

用于将配置文件中的属性值注入到Bean对象中。

代码语言:javascript
复制
 @Value("${my.property}")
    private String myProperty;
@Bean

用于将一个方法返回的对象注册为一个Spring Bean。

@PropertySource

用于指定一组属性文件的位置,从而可以在Spring应用程序中使用这些属性。

@EnableTransactionManagement

用于标识一个方法或类需要使用事务进行操作。使用@Transactional注解来确保这个操作在一个事务中进行,从而保证操作的原子性、一致性、隔离性和持久性。

代码语言:javascript
复制
@Service
@Transactional
public class OrderService {}
@Getter

@Getter是Lombok框架中的一个注解,用于自动生成getter方法。

@ToString

@ToString是Lombok框架中的一个注解,用于自动生成toString()方法。

使用前要注意是否有Lombok。

以上20个注释是我这里经常用到的,希望能给大家带来一定的帮助,后面再使用在过程中我也会详细的讲述。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 系统与开发环境
  • 基础idea环境搭建
  • 基础maven配置(外部独立maven)
  • 基础maven默认配置(默认maven)
  • SpringBootWebProject学习——正文——常用注解说明
    • @SpringBootApplication
      • @RestController
        • @Autowired
          • @RequestMapping
            • @GetMapping
              • @PostMapping
                • @RequestParam
                  • @PathVariable
                    • @RequestBody
                      • @ResponseBody
                        • @Component
                          • @Service
                            • @Repository
                              • @Configuration
                                • @Value
                                  • @Bean
                                    • @PropertySource
                                      • @EnableTransactionManagement
                                        • @Getter
                                          • @ToString
                                          相关产品与服务
                                          云数据库 MySQL
                                          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                                          http://www.vxiaotou.com