经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring » 查看文章
详解spring如何使用注解开发
来源:jb51  时间:2021/5/31 15:05:47  对本文有异议

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

在这里插入图片描述

使用注解需要导入context约束,增加注解的支持。

  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <beans xmlns="http://www.springframework.org/schema/beans"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. https://www.springframework.org/schema/context/spring-context.xsd">
  10. <!--指定要扫描的包,这个包下的注解会生效-->
  11. <context:component-scan base-package="com.chen.project"/>
  12. <context:annotation-config/>
  13. </beans>

1.bean

@Component:组件,放 在类上,说明这个类被Spring管理了,就是bean

2.属性如何注入

  1. import org.springframework.beans.factory.annotation.Value;
  2. import org.springframework.stereotype.Component;
  3.  
  4. //等价于<bean id="user" class="com.chen.dao.User"></bean>
  5. @Component
  6. public class User {
  7.  
  8. public String name;
  9. //等价于<property name="name" value="lan"></property>
  10. @Value("LAN")
  11. public void setName(String name) {
  12. this.name = name;
  13. }
  14. }

3.衍生的注解

@Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层!

  • dao【@Repository
  • service 【@Service
  • controller【@Controller

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

4.自动装配置

-@Autowired通过byType的方式实现。

@Resource默认通过byName的方式实现。

5.作用域

  1. @Scope("singleton")
  2. public class User {
  3. }

6.小结

  • xml更加万能,适用于任何场合,维护简单方便
  • 注解不是自己的类使用不了,维护相对复杂!
  • xml于注解最佳实践
  • xml用来管理bean
  • 注解只负责完成属性的注入
  • 我们在使用的过程中,只需要注意一个问题,必须让注解生效,就需要开启注解的支持
  1. <!--指定要扫描的包,这个包下的注解会生效-->
  2. <context:component-scan base-package="com.chen.project"/>
  3. <context:annotation-config/>

到此这篇关于详解spring如何使用注解开发的文章就介绍到这了,更多相关spring使用注解开发内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号