尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Spring使用注解开发

Spring使用注解开发
📅 发布时间:2026/6/19 19:59:30

Spring使用注解开发

在Spring4之后,要使用注解开发,必须要保证AOP的包导入了

bean如何注解

约束配置

<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!--指定要扫描的的包,这个路径的下的包的类中注解就会生效--><context:component-scanbase-package="com.cike6"/><context:annotation-config/></beans>

要注解的类

// 等价于 <bean id="user" class="com.cike6.dao.User"/>// @Component 组件@ComponentpublicclassUser{publicStringname="cike_y";}

测试方法

publicclassspring_6_Test{@Testpublicvoidtest(){ApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext.xml");Useruser=context.getBean("user",User.class);System.out.println(user.name);}}

属性如何注入

在对应属性上面加一个@Value 注解即可

@ComponentpublicclassUser{// 相当于 <property name="name" value="cike_y"/>@Value("cike_y")publicStringname;}

衍生的注解

@Component 有几个衍生注解,我们在web开发中,会按照mvc三层架构分层!都是组件的意思,只是名字不一样为了划分,功能一样

dao【@Repository】

- 一般dao层都会用这个注解

service【@Service】

- service层用这个注解

controller【@Controller】

- 控制层用这个注解
controller的案例
  • 如果找不到controller的容器id,我们还可以指定注解显示定义一个容器id名

使用bean注解的类,并且属性注入的注解方式

@Controller("usercontroller")publicclassUserController{@Value("aa")publicStringname;}

注解约束的xml配置

<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!--指定要扫描的的包,这个包下的注解就会生效--><context:component-scanbase-package="com.cike6"/><context:annotation-config/></beans>

测试方法并且实例化容器id

@Testpublicvoidtest2(){ApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext.xml");UserControllerusercontroller=context.getBean("usercontroller",UserController.class);System.out.println(usercontroller.name);}

可以看见成功输出 UserController类下的属性值name

这四个注解功能都是一样的,都是代表将某个类注册到Spring中,装配Bean

自动装配

@Autowired:自动装配通过类型。名字 如果Autowired不能唯一自动装配上属性,则需要通过@Qualifier(value="xx") @Nullable 字段标记了这个注解,说明这个字段可以null @Resource 自动装配通过名字、类型

作用域

@Component@Scope("singleton")// 单例模式// 原型模式 @Scope("prototype")publicclassUser{// 相当于 <property name="name" value="cike_y"/>@Value("cike_y")publicStringname;}

小结

xml与注解:

  • xml更加万能,适用于任何场景!维护简单方便
  • 注解不是自己的类使用不了,维护相对复杂

xml与注解的最佳实践:

  • xml用来管理bean;
  • 注解之复杂完成属性的注入
  • 我们在使用的过程中,只需要注意一个问题:必须要注解生效就需要开启注解的支持、扫描包
<context:component-scanbase-package="com.cike6"/><context:annotation-config/>

相关新闻

  • 互联网大厂Java面试:从Spring Boot到微服务架构的技术点解析
  • 电池超级电容混合储能系统能量管理超级电容matlab simulink储能模型仿真,能量管理蓄...
  • 10356_基于Springboot的老年人管理系统

最新新闻

  • 从零到一:Jetlinks物联网平台服务器部署实战与避坑指南
  • (转)一次ANSYS EM 2023R1 “Request name electronics_desktop does not exist in the licensing pool.“的离谱解决记录
  • 面试被问“你的缺点是什么”,90%的应届生都答错了!(附满分话术)
  • Spring Cloud Alibaba 最佳实践:基于 Spring Boot 4.0 的完整微服务示例项目
  • 三步掌握AI斗地主:如何用DouZero智能助手提升你的游戏胜率
  • 2026山东大学项目实训个人博客(六)

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号