欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring中bean的注入(注解形式)

程序员文章站 2022-05-21 22:11:30
...
 Spring为此提供了四个注解,这些注解的作用与上面的XML定义bean效果一致,在于将组件交给Spring容器管理。组件的名称默认是类名(首字母变小写),也可以自己修改:
  @Component:当对组件的层次难以定位的时候使用这个注解
  @Controller:表示控制层的组件
  @Service:表示业务逻辑层的组件
  @Repository:表示数据访问层的组件
 使用这些注解的时候还有一个地方需要注意,就是需要在applicationContext.xml中声明<contex:component-scan...>一项,指明Spring容器扫描组件的包目录。

  • 先编写Student和Teacher
  • public class Student {
    
        private String name;
    
        private Teacher teacher;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Teacher getTeacher() {
            return teacher;
        }
    
        public void setTeacher(Teacher teacher) {
            this.teacher = teacher;
        }
    
    }

    public class Teacher {
    
        private String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
    }
    


  • 基于注解的bean的定义注入:

    • @Component("teacher")
      public class Teacher {
      
          @Value("李四")
          private String name;
      
          public String getName() {
              return name;
          }
      
      }

    • @Component("student")
      public class Student {
      
          @Value("张三")
          private String name;
      
          @Resource
          private Teacher teacher;
      
          public String getName() {
              return name;
          }
      
          public Teacher getTeacher() {
              return teacher;
          }
      
      }
    <?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
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context.xsd">
    
        <!--扫描组件的包目录-->
        <context:component-scan base-package="test"/>
    
    </beans