当前位置: 首页 > news >正文

Spring boot 常用注解

@SpringBootApplication:用于启动Spring Boot应用程序的主类上,组合了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解。

@RestController :修饰类,使用@RestController注解的Controller中的方法默认返回值都会以JSON格式进行输出。

@RequestMapping("/path") :  修饰类,该控制器的请求路径

@GetMapping/@PostMapping/@PutMapping/@DeleteMapping:用于绑定HTTP请求的方法(GET/POST/PUT/DELETE)到相应的处理器方法

@Autowired、@Resource:  修饰属性,按照类型进行依赖注入

@PathVariable:  修饰参数,将路径值映射到参数上

@ResponseBody:  修饰方法,该方法会返回Json数据

@RequestBody(需要使用Post提交方式): 修饰参数,将Json数据封装到对应参数中

@Controller@Service@Compont : 将类注册到ioc容器

@Transactional:开启事务管理

例子:

以下是一个使用了大量Spring Boot注解的示例:

UserController.java

@RestController
@RequestMapping("/users")
public class UserController {@Autowiredprivate UserService userService;@GetMapping("")public List<User> listUsers() {return userService.findAll();}@PostMapping("")public User saveUser(@RequestBody User user) {userService.saveUser(user);return user;}@PutMapping("")public User updateUser(@RequestBody User user) {userService.updateUser(user);return user;}@DeleteMapping("/{userId}")public boolean deleteUser(@PathVariable Long userId) {userService.deleteUser(userId);return true;}
}

UserService.java

@Service
@Transactional
public class UserServiceImpl implements UserService {@Autowiredprivate UserDao userDao;@Overridepublic List<User> findAll() {return userDao.findAll();}@Overridepublic void saveUser(User user) {userDao.save(user);}@Overridepublic void updateUser(User user) {userDao.update(user);}@Overridepublic void deleteUser(Long userId) {userDao.delete(userId);}
}

UserDao.java

@Component
public class UserDao {// 展示常规的@Resource注入方式@Resourceprivate JdbcTemplate jdbcTemplate;public List<User> findAll() {String sql = "SELECT * FROM user";return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));}public void save(User user) {String sql = "INSERT INTO user(name, age) VALUES (?, ?)";jdbcTemplate.update(sql, user.getName(), user.getAge());}public void update(User user) {String sql = "UPDATE user SET name = ?, age = ? WHERE id = ?";jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId());}public void delete(Long userId) {String sql = "DELETE FROM user WHERE id = ?";jdbcTemplate.update(sql, userId);}
}


在这里:

@RestController:将UserController类声明为一个控制器。

@RequestMapping("/users"):将"/users"路径映射到UserController类上。

@Autowired:通过自动注入的方式向UserController中注入了UserService对象。

@GetMapping("")、@PostMapping("")、@PutMapping("")、@DeleteMapping("/{userId}"):分别对应HTTP的GET、POST、PUT、DELETE请求方法,将它们绑定到UserController中的相应方法上,其中@DeleteMapping还使用了@PathVariable注解来获取请求参数中的userId值。

@RequestBody:将POST和PUT请求中的数据转换成对应的Java对象(User对象)。

@Service:告诉Spring该类是一个服务类。

@Transactional:开启该类的所有方法的事务管理。

@Component:告诉Spring要将该类作为Bean注册到应用程序上下文中。

@Resource:注入JdbcTemplate对象(由于JdbcTemplate不是Spring Boot预置的Bean,所以使用常规的注入方式)。

http://www.lryc.cn/news/66181.html

相关文章:

  • mysql从零开始(05)----锁
  • 《Linux 内核设计与实现》03. 进程管理
  • 深入探究HDFS:高可靠、高可扩展、高吞吐量的分布式文件系统【上进小菜猪大数据系列】
  • GIMP制作艺术字技巧
  • Redis 布隆过滤器总结
  • 云基础设施安全:7个保护敏感数据的最佳实践
  • centos7安装nginx
  • PyQt5 基础篇(一)-- 安装与环境配置
  • Java—JDK8新特性—函数式接口【内含思维导图】
  • 【MySQL】外键约束和外键策略
  • 3. SQL底层执行原理详解
  • Bus动态刷新
  • 逆波兰式的写法
  • Linux系统日志介绍
  • 第三十二章 React路由组件的简单使用
  • “裸奔”时代下,我们该如何保护网络隐私?
  • c#笔记-方法
  • 054、牛客网算法面试必刷TOP101--堆/栈/队列(230509)
  • 怎么让chatGTP写论文-chatGTP写论文工具
  • springboot 断点上传、续传、秒传实现
  • 2023河南省赛vp题解
  • 港科夜闻|香港科大与香港资管通有限公司签署校企合作备忘录,成立校企合作基金促科研成果落地...
  • Neo4j 笔记
  • 数据库基础应用——概念模型
  • 【学姐面试宝典】前端基础篇Ⅴ——JS深浅拷贝、箭头函数、事件监听等
  • 最新研究,GPT-4暴露了缺点!无法完全理解语言歧义!
  • 商业数据挖掘-第一章-数据探索式分析-1
  • MybatisPlus是否防止SQL注入?
  • 5月第1周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
  • 数据的插入删除和更新