SpringBoot常用注解详细整理

SpringBoot常用注解详细整理

什么是SpringBoot注解

Spring Boot提供了许多注解来简化Spring应用程序的开发和配置。在Spring中,注解使得我们能够重用代码、简化配置和提供了一致性数据。Spring Boot重度依赖注解,是设计成可以快速使用注解来进行Spring应用程序的开发和配置,从而节省了开发人员的时间和精力。

常用注解

@Controller

用于标识一个类是Spring控制器(Spring Controller)。控制器用于处理Web请求并返回响应结果。

示例:

@Controller
@RequestMapping("/example")
public class ExampleController {
    @GetMapping("/hello")
    @ResponseBody
    public String sayHello() {
        return "Hello World!";
    }
}

上述代码示意了如何使用@Controller注解,用于标识ExampleController类是一个控制器,其中@GetMapping注解表示可通过 HTTP GET 请求访问/hello路径。最后的@ResponseBody注解表示控制器的返回值不是 HTML 视图,而是文本,返回内容为 "Hello World!"。

@Service

@Service注解用于标识一个类是Spring的服务层Bean。通常与DAO层结合使用, 用于实现对数据库的操作。

示例:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;
    //...
}

在示例中使用@Service注解,表示UserServiceImpl是一个服务层Bean,其中@Autowired注解表示自动装配,将UserDao注入UserService。

@Repository

@Repository注解用于标识使用 Spring Data 访问数据对象(Spring Data access)的类。

示例:

@Repository
public class UserDaoImpl implements UserDao {
    @Override
    public void add(User user) {
        //...
    }
}

在上述示例中,@Repository用于标识UserDaoImpl是一个使用Spring Data访问数据对象,其中的add()方法用于向数据库中添加用户。

@Autowired

@Autowired 用于自动装配 Spring 应用程序中的bean。它可以应用到构造函数、属性、参数和方法上。

示例:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;
    //...
}

在这个示例中,@Autowired注解标识userDao 使用自动装配,表示将UserDao实例自动注入到UserServiceImpl中。

@RequestMapping

@RequestMapping用于将HTTP请求映射到它们的处理程序。它可以将控制器类或处理程序方法标记为可供请求映射,并定义映射到哪个URL和HTTP方法。

示例:

@Controller
@RequestMapping("/example")
public class ExampleController {
    @GetMapping("/hello")
    @ResponseBody
    public String sayHello() {
        return "Hello World!";
    }
}

上述示例中,@RequestMapping注解用于将ExampleController类映射到/example上,同时表示它的作用是控制器。 @GetMapping("/hello") 注解表示将/hello路径映射到sayHello() 方法上

@RequestBody

@ RequestBody注解用于从HTTP请求正文中读取对象。Spring将请求的正文反序列化为指定的Java类型,并使用ObjectMapper转换Json字符串。

示例:

@PostMapping("/users")
public ResponseEntity add(@RequestBody User user) {
    userService.add(user);
    return ResponseEntity.status(HttpStatus.CREATED).build();
}

上述示例,@RequestBody标识参数为一个User对象,用于读取HTTP请求正文并将其转换为User对象。

总结

以上是SpringBoot中常用注解整理,除了上述基础注解外,SpringBoot中还有其他注解,如@ModelAttribute、@ResponseBody等。在Spring Boot应用程序的开发中,就需要熟悉常用注解,并合理使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot常用注解详细整理 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Java axios与spring前后端分离传参规范总结

    Java axios与Spring前后端分离传参规范总结 本攻略主要介绍了在Java axios与Spring前后端分离的开发中,如何进行传参规范。 一、传参规范 在前后端分离的开发中,一般通过JSON格式传递参数。在发送请求时,需要规范JSON数据的格式,保证后端能够正确解析参数。 以axios请求为例,将参数封装在data属性中,如下: javascri…

    Java 2023年6月3日
    00
  • Java处理日期时间的方法汇总

    标题 Java处理日期时间的方法汇总 介绍 在Java应用程序开发中,经常需要对日期和时间进行处理和运算,比如计算两个日期之间的天数,或者将日期格式化为特定的字符串等等。本文将介绍Java中处理日期时间的方法汇总。 获取当前日期时间 获取当前时间的 Date 对象可以使用无参构造函数,也可以使用 System.currentTimeMillis 方法。 Da…

    Java 2023年5月20日
    00
  • Javaweb工程运行报错HTTP Status 404解决办法

    针对Javaweb工程运行报错HTTP Status 404的情况,可以按照以下步骤来解决: 1. 确认Servlet容器是否正常启动 第一步是确认Servlet容器是否正常启动。如果Servlet容器未正常启动,那么网站无法访问,就会出现404错误。在确认Servlet容器是否正常启动时,可以参照以下示例代码: $netstat -ano | findst…

    Java 2023年6月15日
    00
  • 自己写的java日志类和方法代码分享

    下面我会给您详细讲解“自己写的java日志类和方法代码分享”的完整攻略,包含如下几个部分: 开发环境及所需资源 日志类的设计和实现 日志的使用示例 常见问题解答 1. 开发环境及所需资源 在开发Java日志类时,需要使用到以下资源: JDK:Java Development Kit,包含Java运行时环境、自带的Java编译器(Javac)、开发文档和示例代…

    Java 2023年5月23日
    00
  • Mybatis Interceptor线程安全引发的bug问题

    首先我们来了解一下什么是 Mybatis Interceptor。 Mybatis Interceptor 是 Mybatis 框架提供的一个扩展机制,允许我们在 Mybatis 核心逻辑运行前或运行后进行拦截,来实现对 SQL 语句、参数、结果集等进行定制化处理。 而“线程安全引发的 bug”问题是在使用 Mybatis Interceptor 进行并发处…

    Java 2023年5月27日
    00
  • 21个常用的apache .htaccess文件配置技巧分享

    标题 21个常用的apache .htaccess文件配置技巧分享 简介 Apache的.htaccess文件是一种非常有用的文件,它可以帮助你更好地控制网站的访问和功能。在这篇文章中,我们将介绍21个常用的.htaccess文件配置技巧,并给出示例说明。如果你是一个网站管理员,这些技巧将帮助你更好地管理你的网站。 常用的.htaccess文件配置技巧 以下…

    Java 2023年6月16日
    00
  • MyBatis自定义typeHandler的完整实例

    针对“MyBatis自定义typeHandler的完整实例”这个问题,我将会提供一份详细攻略。 什么是 MyBatis TypeHandler? MyBatis 的 TypeHandler 可以实现 Java 数据类型(如 String, Date 等)和 JDBC 对象之间的转换。MyBatis 会自动寻找合适的 TypeHandler 来执行转换,并且你…

    Java 2023年6月15日
    00
  • 分享几个WebSite网站防黑经验

    当今WebSite网站防黑成为了一个非常重要的话题,因为黑客攻击不断增多,如果不及时采取一些安全防范措施,那么就有可能会造成严重的后果,比如用户信息泄露、系统瘫痪、服务不可用等。下面为大家分享几个WebSite网站防黑经验,希望对大家有所帮助。 防御措施1:保持WebSite网站系统更新 在WebSite网站防黑的过程中,系统更新非常重要,因为黑客们对各种漏…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部