SpringBoot 常用注解详解(附代码示例)
在 SpringBoot 开发中注解是最核心的部分。 通过注解可以实现自动配置、依赖注入、接口开发、数据库操作等功能。下面按照实际开发使用频率进行分类讲解。一、SpringBoot 启动类注解1. SpringBootApplication这是SpringBoot 项目的核心注解。作用它其实是三个注解的组合SpringBootConfiguration EnableAutoConfiguration ComponentScan作用启动 SpringBoot自动配置项目扫描组件代码示例SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }运行后SpringBoot启动 内置Tomcat启动 项目运行二、控制层 Controller 注解Controller 是前端请求的入口。1. Controller用于定义控制器类。主要用于返回页面HTML。Controller public class PageController { RequestMapping(/hello) public String hello(){ return hello; } }返回hello.html2. RestController这是开发前后端分离项目最常用的注解。相当于Controller ResponseBody作用直接返回JSON数据。RestController public class TestController { RequestMapping(/test) public String test(){ return hello springboot; } }访问http://localhost:8080/test返回hello springboot3. RequestMapping用于定义接口访问路径。RestController RequestMapping(/user) public class UserController { RequestMapping(/list) public String list(){ return 用户列表; } }访问地址http://localhost:8080/user/list4. GetMapping表示GET请求。GetMapping(/hello) public String hello(){ return hello; }等价于RequestMapping(value/hello,methodRequestMethod.GET)5. PostMapping表示POST请求。PostMapping(/login) public String login(){ return 登录成功; }6. PutMapping表示更新数据。PutMapping(/update) public String update(){ return 更新成功; }7. DeleteMapping表示删除数据。DeleteMapping(/delete) public String delete(){ return 删除成功; }三、参数接收注解1. RequestParam用于接收URL参数。例如http://localhost:8080/user?id1代码GetMapping(/user) public String getUser(RequestParam int id){ return 用户ID id; }2. PathVariable用于接收路径参数。例如http://localhost:8080/user/1代码GetMapping(/user/{id}) public String getUser(PathVariable int id){ return 用户ID id; }3. RequestBody用于接收JSON数据。Vue发送axios.post(/login,{ username:admin, password:123456 })后端接收PostMapping(/login) public String login(RequestBody User user){ return user.getUsername(); }四、依赖注入注解Spring最重要的概念就是IOC控制反转。1. Autowired自动注入对象。Service public class UserService { public String test(){ return service; } }ControllerRestController public class UserController { Autowired private UserService userService; GetMapping(/test) public String test(){ return userService.test(); } }2. Component将类交给Spring管理。Component public class TestComponent { }Spring启动时会自动创建对象。3. Service用于标识业务层。Service public class UserService { }4. Repository用于数据访问层。Repository public class UserDao { }五、MyBatis 相关注解如果项目使用MyBatis操作数据库常用以下注解。1. Mapper标识数据库Mapper接口。Mapper public interface UserMapper { }2. Select查询数据。Select(select * from user) ListUser findAll();3. Insert插入数据。Insert(insert into user(username,password) values(#{username},#{password})) void insert(User user);4. Update更新数据。Update(update user set password#{password} where id#{id}) void update(User user);5. Delete删除数据。Delete(delete from user where id#{id}) void delete(int id);六、跨域注解当前端和后端端口不同会出现跨域问题。例如Vue: 5173 SpringBoot: 8080解决方法CrossOriginCrossOrigin RestController public class UserController { }允许跨域请求。七、配置类注解1. Configuration表示配置类。Configuration public class AppConfig { }2. Bean用于创建Spring Bean对象。Bean public User user(){ return new User(); }八、总结SpringBoot 常见注解可以分为几类分类常用注解启动类SpringBootApplication控制层RestController、RequestMapping请求方式GetMapping、PostMapping参数接收RequestParam、PathVariable、RequestBody依赖注入Autowired、Service数据库Mapper、Select跨域CrossOrigin配置Configuration、Bean
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2414500.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!