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

网站开发青岛上海最专业的网站建设公司

网站开发青岛,上海最专业的网站建设公司,wordpress外贸网站好用的模板下载,中国搜索提交网站一、组件注解 Component :用于标记一个类为 Spring 管理的 Bean,是 Spring 的基本组件注解。Spring 会通过类路径扫描自动检测并注册标记了 Component 的类为 Bean。Service :是 Component 的派生注解,用于标记服务层类&#xff…

Spring 中常用的注解

一、组件注解

  • @Component :用于标记一个类为 Spring 管理的 Bean,是 Spring 的基本组件注解。Spring 会通过类路径扫描自动检测并注册标记了 @Component 的类为 Bean。
  • @Service :是 @Component 的派生注解,用于标记服务层类,表示该类是一个业务逻辑组件。
  • @Repository :是 @Component 的派生注解,用于标记数据访问层类,表示该类是一个数据访问组件,通常用于 DAO(Data Access Object)类。
  • @Controller :是 @Component 的派生注解,用于标记控制层类,表示该类是一个 Web 控制器组件,通常用于 Spring MVC 中的控制器类。

二、依赖注入注解

  • @Autowired :用于自动注入依赖。Spring 会自动查找匹配的 Bean 并注入到指定的字段、构造方法或 setter 方法中。如果存在多个同类型的 Bean,可以通过 @Qualifier 来指定注入的具体 Bean。
  • @Qualifier :用于指定注入的具体 Bean,当存在多个同类型的 Bean 时,可以通过 @Qualifier 来指定注入哪一个 Bean。它通常与 @Autowired 一起使用。
  • @Resource :也是用于依赖注入的注解,它与 @Autowired 类似,但 @Resource 默认按照名称进行注入,如果找不到匹配的 Bean,则按照类型进行注入。

三、配置注解

  • @Configuration :用于标记一个配置类,表示该类是一个 Spring 配置类,可以替代传统的 XML 配置文件。
  • @Bean :用于在配置类的方法上定义 Bean。被 @Bean 注解的方法会返回一个 Bean 实例,Spring 会自动注册该 Bean 到 IoC 容器中。
  • @Import :用于导入其他配置类,可以将其他配置类中的 Bean 定义引入到当前配置类中。
  • @PropertySource :用于指定属性文件的位置,可以加载.properties 文件中的配置属性到 Spring 的环境变量中。
  • @Value :用于注入配置文件中的属性值到字段中。可以通过 @Value 注解将配置文件中的属性值绑定到 Bean 的字段上。

四、AOP 注解

  • @Aspect :用于标记一个切面类,表示该类是一个 AOP 切面,包含通知和切入点的定义。
  • @Pointcut :用于定义切入点表达式,指定哪些连接点匹配该切入点。
  • @Before :用于定义前置通知,表示在连接点之前执行的通知方法。
  • @AfterReturning :用于定义后置通知,表示在连接点正常返回后执行的通知方法。
  • @AfterThrowing :用于定义异常通知,表示在连接点抛出异常后执行的通知方法。
  • @After :用于定义最终通知,表示在连接点执行完成后(无论是否抛出异常)执行的通知方法。
  • @Around :用于定义环绕通知,表示在连接点之前和之后都执行的通知方法,可以手动控制连接点的执行。

五、MVC 注解

  • @Controller :用于标记控制层类,表示该类是一个 Web 控制器组件,用于处理 HTTP 请求。
  • @RequestMapping :用于映射 HTTP 请求到处理方法上。可以通过 URL 模式、HTTP 方法等方式来指定请求的映射规则。
  • @GetMapping :是 @RequestMapping 的派生注解,专门用于映射 HTTP GET 请求。
  • @PostMapping :是 @RequestMapping 的派生注解,专门用于映射 HTTP POST 请求。
  • @PutMapping :是 @RequestMapping 的派生注解,专门用于映射 HTTP PUT 请求。
  • @DeleteMapping :是 @RequestMapping 的派生注解,专门用于映射 HTTP DELETE 请求。
  • @RequestParam :用于绑定 HTTP 请求参数到方法参数上。可以指定参数是否必填、默认值等。
  • @RequestBody :用于将 HTTP 请求体绑定到方法参数上,通常用于处理 JSON 或 XML 格式的请求数据。
  • @ResponseBody :用于将方法的返回值作为 HTTP 响应体返回给客户端,通常用于返回 JSON 或 XML 格式的数据。
  • @RestController :是 @Controller@ResponseBody 的组合注解,用于标记 RESTful 风格的控制器类,表示该类中的所有方法的返回值都会作为 HTTP 响应体返回给客户端。

六、事务注解

  • @Transactional :用于声明式事务管理,可以标注在类或方法上。标注了 @Transactional 的方法会在执行时自动开启事务,并在方法执行完成后根据执行结果提交或回滚事务。

七、示例代码

以下是一些常用注解的示例代码:

  • 组件注解示例
@Component
public class Car {// 类内容
}@Service
public class UserService {// 类内容
}@Repository
public class UserRepository {// 类内容
}@Controller
public class UserController {// 类内容
}
  • 依赖注入注解示例
@Service
public class UserService {@Autowired@Qualifier("userRepository")private UserRepository userRepository;
}@Repository
public class UserRepository {// 类内容
}
  • AOP 注解示例
@Aspect
@Component
public class LogAspect {@Pointcut("execution(* com.example.service.*.*(..))")public void servicePointcut() {}@Before("servicePointcut()")public void beforeLog(JoinPoint joinPoint) {System.out.println("方法执行前:" + joinPoint.getSignature().getName());}
}
  • MVC 注解示例
@RestController
@RequestMapping("/api/users")
public class UserController {@Autowiredprivate UserService userService;@GetMapping("/{id}")public User getUser(@PathVariable Long id) {return userService.getUserById(id);}@PostMappingpublic User createUser(@RequestBody User user) {return userService.createUser(user);}
}
  • 事务注解示例
@Service
public class UserService {@Autowiredprivate UserRepository userRepository;@Transactionalpublic void transferMoney(Account fromAccount, Account toAccount, Double amount) {userRepository.decreaseBalance(fromAccount, amount);userRepository.increaseBalance(toAccount, amount);}
}

八、总结

Spring 提供了大量的注解来简化开发和配置工作。通过使用这些注解,开发者可以更加方便地定义 Bean、管理依赖关系、配置 AOP、开发 Web 应用以及进行事务管理等。掌握这些常用注解的使用方法,可以提高开发效率,使代码更加简洁和直观。在实际开发中,合理运用 Spring 的注解功能,可以构建出更加高效、可维护的 Spring 应用。


文章转载自:

http://9AghKK7j.mfmbn.cn
http://i40QyalF.mfmbn.cn
http://LfYLkCqn.mfmbn.cn
http://BMcnye8i.mfmbn.cn
http://bpA2juXg.mfmbn.cn
http://OEOJ1RZr.mfmbn.cn
http://WVl7r0zR.mfmbn.cn
http://718ldEBJ.mfmbn.cn
http://PU107fRY.mfmbn.cn
http://d4LVfVnS.mfmbn.cn
http://mnVs2f3c.mfmbn.cn
http://pjPDB9Q3.mfmbn.cn
http://osTOd537.mfmbn.cn
http://JPs60Pjm.mfmbn.cn
http://qN2CwC8t.mfmbn.cn
http://BQWiL7SY.mfmbn.cn
http://FGOvOfcG.mfmbn.cn
http://gaRtAEet.mfmbn.cn
http://UYMHGIWg.mfmbn.cn
http://RyeeSOnB.mfmbn.cn
http://KLOzFR5X.mfmbn.cn
http://SDyXbTwF.mfmbn.cn
http://U6BefVu9.mfmbn.cn
http://bqchih20.mfmbn.cn
http://zdb1Pio6.mfmbn.cn
http://7KKkJY2w.mfmbn.cn
http://A9r0aWE3.mfmbn.cn
http://YL6lJfSb.mfmbn.cn
http://k6U3h4ck.mfmbn.cn
http://M68F3mZf.mfmbn.cn
http://www.dtcms.com/wzjs/695995.html

相关文章:

  • mip网站模板建设银行开县支行 网站
  • 什么是网站策划书wordpress自动抓取
  • 社保汇算清缴哪个网站做的iis7 建立网站
  • 北京互联网网站建设价格软件开发需要什么专业
  • 购物网站开发需求文档怎么做网站的一个横向列表
  • 软件开发兼职网站wordpress首页调取指定分类内容
  • 济南新网站优化今天正式封城
  • 电脑报网站建设在网站做商城平台需要哪些资质
  • 永州市开发建设投资有限公司网站电子商务网站的建设视频
  • 网站怎么建设在哪里接单备案中网站打不开
  • 做网站用虚拟主机好不好通辽市 做网站
  • 荷兰网站开发价格创建网站的免费软件国内
  • 网站右下角图片代码网站流量超
  • 网站访问量很大怎么办wordpress启用memcached
  • 中国网通做网站结合实际
  • 怎么查看网站的备案号dede发布网站
  • 3g免费网站加盟高端网站建设
  • 自己买服务器建设网站免费软件下载网址
  • 温州网站设计制作石家庄官网设计及搭建
  • dede wap网站模板下载上海it公司有哪些
  • 中国建设银行网站个人如何k掉网站
  • 专业足球网站建设如何用visual studio做网站
  • 做移动网站优化快深圳网课
  • 怎么不花钱建网站市场推广专员
  • 东莞网站制作建设收费网站title在哪里
  • 网站网站地图怎么做办公室改造装修公司
  • 垂直类门户网站微信做购物网站怎么抽佣
  • 专业3合1网站建设电话免费查询公司
  • 深圳网站开发的公司电话中小企业网站制作过程中要注意什么
  • 做网站挂广告赚多少钱便宜域名购买