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

培训机构做网站宣传网推平台

培训机构做网站宣传,网推平台,爱情动做电影网站推荐,wordpress有没有ssrpanel以下是 Spring Boot/Spring MVC 项目中按使用频率排序的核心注解总结,包含常用场景和示例,帮助你快速掌握高频开发需求: 一、高频基础注解(框架核心) 1. SpringBootApplication(启动类注解) …

以下是 Spring Boot/Spring MVC 项目中按使用频率排序的核心注解总结,包含常用场景和示例,帮助你快速掌握高频开发需求:

一、高频基础注解(框架核心)

1. @SpringBootApplication(启动类注解)
  • 作用:标识 Spring Boot 应用的主类,包含 @Configuration+@EnableAutoConfiguration+@ComponentScan 组合功能。
  • 场景:项目入口类必加,用于开启自动配置和组件扫描。

    java

    @SpringBootApplication
    public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
    }
    
2. @Controller(MVC 控制器)
  • 作用:标识一个 MVC 控制器类,处理 Web 请求。
  • 场景:处理 HTTP 请求的类(如 REST 接口),常配合 @RequestMapping 使用。

    java

    @Controller
    @RequestMapping("/user")
    public class UserController {// ...
    }
    
3. @RestController(REST 控制器)
  • 作用:组合 @Controller+@ResponseBody,直接返回 JSON / 对象(无需视图解析)。
  • 场景:开发 RESTful API 时使用,避免手动添加 @ResponseBody

    java

    @RestController
    @RequestMapping("/api")
    public class ApiController {@GetMapping("/data")public User getData() { return new User("admin"); } // 直接返回 JSON
    }
    
4. @RequestMapping(请求映射)
  • 作用:定义 URL 路径与方法的映射关系,可用于类或方法。
  • 场景:细粒度控制请求路径,支持 GET/POST/PUT/DELETE 等方法。

    java

    @GetMapping("/hello") // 等价于 @RequestMapping(method = GET)
    public String hello() { return "Hello World!"; }
    

二、依赖注入与配置注解(核心机制)

5. @Autowired(自动装配)
  • 作用:按类型自动注入 Bean,可用于字段、构造器、方法。
  • 场景:注入 Service/Repository/ 其他组件。

    java

    @Service
    public class UserService {@Autowiredprivate UserRepository repository; // 注入 DAO
    }
    
6. @Component(通用组件)
  • 作用:标识一个通用组件(如工具类),被 Spring 容器管理。
  • 场景:非 MVC 层的组件(如 @Service/@Repository/@Controller 是其衍生注解)。

    java

    @Component
    public class CacheUtil {// ...
    }
    
7. @Service(服务层组件)
  • 作用:标识服务层(Service)组件,用于业务逻辑处理。
  • 场景:Service 类上必加,配合 @Autowired 注入。

    java

    @Service
    public class UserServiceImpl implements UserService {// ...
    }
    
8. @Repository(数据层组件)
  • 作用:标识数据访问层(DAO)组件,自动处理异常(如 SQLException 转 DataAccessException)。
  • 场景:DAO 类或 MyBatis Mapper 接口上。

    java

    @Repository
    public interface UserRepository extends JpaRepository<User, Long> {// ...
    }
    

三、请求处理与参数注解(Web 开发核心)

9. @PathVariable(路径参数)
  • 作用:从 URL 路径中获取参数(如 /user/{id})。
  • 场景:RESTful 风格接口中获取资源 ID。

    java

    @GetMapping("/user/{id}")
    public User getUser(@PathVariable Long id) {return repository.findById(id).orElse(null);
    }
    
10. @RequestParam(请求参数)
  • 作用:获取请求参数(如 ?name=admin),支持默认值、是否必填等。
  • 场景:处理查询参数或表单参数。

    java

    @GetMapping("/list")
    public List<User> getUsers(@RequestParam(defaultValue = "0") int page) {// ...
    }
    
11. @RequestBody(请求体参数)
  • 作用:读取请求体中的 JSON/XML 数据,反序列化为对象。
  • 场景:处理 POST/PUT 请求的请求体(如前端传递的 JSON 对象)。

    java

    @PostMapping("/create")
    public User createUser(@RequestBody User user) {return repository.save(user);
    }
    
12. @ResponseBody(响应体)
  • 作用:将方法返回值转为 JSON/XML 响应(需配合 @Controller 使用)。
  • 场景:与 @Controller 搭配实现 REST 接口(@RestController 已包含此注解)。

    java

    @Controller
    @RequestMapping("/api")
    public class ApiController {@GetMapping("/data")@ResponseBody // 返回 JSONpublic User getData() { return new User("admin"); }
    }
    

四、配置与属性注入注解(环境配置)

13. @Configuration(配置类)
  • 作用:标识一个配置类,用于替代 XML 配置(如 Bean 定义)。
  • 场景:自定义 Bean 的配置类(如数据源、拦截器等)。

    java

    @Configuration
    public class AppConfig {@Beanpublic DataSource dataSource() {// 配置数据源}
    }
    
14. @Bean(Bean 定义)
  • 作用:在配置类中手动定义 Bean(替代 XML 的 <bean> 标签)。
  • 场景:自定义 Bean(如工具类、第三方库组件)。

    java

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(factory);return template;
    }
    
15. @Value(属性注入)
  • 作用:从配置文件(如 application.properties)中读取属性值。
  • 场景:注入自定义配置(如数据库连接参数、第三方服务地址)。

    java

    @Service
    public class EmailService {@Value("${email.server.host}")private String host;
    }
    

五、AOP 与事务注解(切面编程)

16. @Transactional(事务管理)
  • 作用:声明式事务管理,标注在方法或类上开启事务。
  • 场景:服务层方法中需要数据库事务的场景(如新增 / 更新操作)。

    java

    @Service
    public class OrderService {@Transactionalpublic void createOrder(Order order) {// 数据库操作自动加入事务}
    }
    
17. @Aspect(切面)
  • 作用:标识一个切面类,用于定义切点和通知(Advice)。
  • 场景:实现日志记录、权限校验、性能监控等横切逻辑。

    java

    @Aspect
    @Component
    public class LogAspect {@Pointcut("execution(* com.example.service.*.*(..))")public void servicePointcut() {}@Before("servicePointcut()")public void logBefore() {// 方法执行前记录日志}
    }
    

六、其他常用注解(扩展功能)

18. @CrossOrigin(跨域请求)
  • 作用:解决跨域问题(CORS),允许特定来源的请求访问接口。
  • 场景:前后端分离项目中,前端域名与后端不一致时。

    java

    @RestController
    @CrossOrigin(origins = "http://localhost:3000") // 允许前端域名
    @RequestMapping("/api")
    public class ApiController {// ...
    }
    
19. @Valid(参数校验)
  • 作用:结合 JSR-303 校验框架,验证请求参数合法性。
  • 场景:在 @RequestBody 或表单参数中校验数据(如非空、格式匹配)。

    java

    @PostMapping("/register")
    public User register(@Valid @RequestBody User user) { // 校验 User 对象字段return userService.save(user);
    }
    
20. @RequestMapping 衍生注解(快捷方式)
  • @GetMapping:等价于 @RequestMapping(method = GET)
  • @PostMapping:等价于 @RequestMapping(method = POST)
  • @PutMapping:等价于 @RequestMapping(method = PUT)
  • @DeleteMapping:等价于 @RequestMapping(method = DELETE)
  • 场景:简化 HTTP 方法的映射,代码更易读。

总结:按使用场景分类记忆

场景核心注解
启动与配置@SpringBootApplication@Configuration@Bean@Value
MVC 控制器@Controller@RestController@RequestMapping 及其衍生注解
依赖注入@Autowired@Component@Service@Repository
请求参数处理@PathVariable@RequestParam@RequestBody@ResponseBody
事务与 AOP@Transactional@Aspect@Pointcut@Before/@After
跨域与校验@CrossOrigin@Valid

http://www.dtcms.com/wzjs/37185.html

相关文章:

  • 三网合一 做网站seo技术培训东莞
  • 手机屏网站开发汽车品牌推广策划方案
  • 行业网站建设的书简述seo的概念
  • 郑州服务项目网站建设公司免费域名注册平台有哪些
  • 曲阜做网站哪家好谷歌搜索引擎免费入口 香港
  • 网站服务器哪家好些排名优化方法
  • 做网站需要走哪些程序网站服务器信息查询
  • 摄影网站的需求分析专门开发小程序的公司
  • 网站首页图片分辨率广告软文
  • 互联网公司运营北京seo优化wyhseo
  • 广州专业网站建设哪家公司好百度一下百度搜索入口
  • 承德市网站开发营销网站有哪些
  • 淄博专业网站建设公司张雪峰谈广告学专业
  • 免费网站建设无广告公司网站建设哪个好
  • 网站建设公司位置域名注册哪个平台比较好
  • 新手建什么网站赚钱吗常州网站建设
  • 做网站用什么系统石家庄新闻网
  • wordpress手机网站怎么做建设网页
  • 上国外网站的host快速排名生客seo
  • 本网站建设中seo网站排名优化公司
  • 要做网站到哪里做岳阳seo公司
  • 教育培训机构怎么建设网站网站seo的方法
  • 网站上面的图片是怎么做的2023半夜免费b站推广
  • 广州做动态网站的公司苏州关键词优化怎样
  • 高端品牌化妆品排行榜前十名网站搜索优化公司
  • 2017年做那家网站好免费的网站推广平台
  • 腾讯视频wordpress苏州关键词优化软件
  • 好的漂亮的淘宝客网站模板企业网络策划
  • 做企业网站一般多少钱凡科建站下载
  • 长沙做网站公新产品推广