spring学习12:Spring使用注解开发

spring学习12:Spring使用注解开发

  • 前提:

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

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

       

     

  • 使用注解开发:

    1. bean:

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="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-scan base-package="com.ljxdemo.pojo"/>
         <!--开启注解支持-->
         <context:annotation-config/>
         
      </beans>
    2. 属性如何注入:

      //等价于<bean id="user" class="com.ljxdemo.pojo.User"/>
      //Component : 组件
      @Component
      public class User {

         //等价于:<property name="name" value="张三"/>
         @Value("张三")
         private String name;

         public String getName() {
             return name;
        }

      //等价于:<property name="name" value="张三"/>
         @Value("张三")
         public void setName(String name) {
             this.name = name;
        }

      }
    3. 衍生的注解:

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

      • dao:【@Repository】

      • service:【@Service】

      • controller:【@Controller】

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

         

    4. 自动装配:

      @Autowired:自动装配通过类型; 如果Autowired不能唯一自动装配上属性,则需要通过@Qualifier;

      @Qualifier和@Autowired搭配使用,选定特定的名字;

      @Rsource:自动装配先通过名字再通过类型;

       

    5. bean的作用域:

      @Scope("singleton")
      public class User {
         private String name;
      }

 

  • 总结:

    • xml和注解:

      • xml更加万能,使用于任何场合,维护简单方便;

      • 注解:不是自己的类使用不了,维护相对复杂;

    • xml和注解的最佳实践:

      • xml用来管理bean;

      • 注解只负责完成属性的注入;

      • 我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持!

        <!--指定要扫描的包,这个包下的注解就会生效-->
           <context:component-scan base-package="com.ljxdemo"/>
           <!--开启注解支持-->
           <context:annotation-config/>

         

 

 

 

 

posted @   gzs1024  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示