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

spring 常用注解

程序员文章站 2022-07-15 10:23:58
...

1. 用于创建对象
作用就和在xml配置文件中标签实现的功能是一样的

  •   Component
       作用:把当前类对象存入spring容器中
       属性:value ,用于指定bean的id,它的默认值为当前类名,且首字母改小写
    
  •  Controller:一般用于业务层
    
  •  Service:一般用于服务层
    
  •  Repository:一般用于持久层
    
  •  以上三个注解他们的作用与Component相同
    

他们是spring框架为我们提供明确的三层使用的注解,使我们的三层对象更加清晰

2. 用于注入数据

  •  作用就和在xml配置文件中<property>标签的作用是一样的
    
  •  Autowired
       作用:
            自动按照类型注入。只要容器中有唯一的bean对象类型和要注入的变量类型匹配,就可以注入成功
            如果ioc容器中没有任何bean类型和要注入的变量类型匹配,则报错
            如果ioc容器中有多个类型匹配时:
       出现位置:
          可以是变量上,也可以在方法上
          细节:
                使用注解注入时,set方法就不是必须的了
    
  •  Qualifier:
            作用:在按照类注入的基础上再按照名称注入。它在给类成员注入时不能单独使用。但是在给方法参数注入时可以
            属性:
              value:用于指定注入bean的id
    
  •    Resource
            作用:直接按照bean的id注入。它可以独立使用
            属性:
                name:用于指定bean的id
    
  •  以上三个注解只能注入其他bean类型的数据,而基本类型和string类型无法使用上述注解实现。
    
  •  另外,集合类型的注入只能通过xml来实现。
    
  •  Value
        作用:用于注入基本类型和string基本类型
        属性:value:用于指定数据的值。他可以使用spring中的SpEl(也就是spring的el表达式)
             SpEL的写法:${表达式}
    
  • 3. 用于改变作用范围
    作用就和在xml配置文件中scope属性的作用是一样的

  •   scpe
        作用:用于指定bean的作用范围
        属性:
            value:指定范围的取值.常用取值:singleton prototype
    
  • 3.和生命周期相关的(了解)

     作用就和在xml配置文件中init_method和destroy_method 属性的作用是一样的
    
  •  PreDestroy
        作用:用于指定销毁方法
    
  •  PostConstruct
        作用:用于指定初始化方法
    
@Service(value = "accountService")
// @Scope(value = "prototype")
public class AccountServiceImpl implements IAccountService {

   /**
    @Autowired
    @Qualifier("accountDao2")
    */
   @Resource(name = "accountDao2")
   private IAccountDao accountDao = null;

   @PostConstruct
    public void init() {
        System.out.println("初始化方法执行");
    }

    @PreDestroy
    public void destroy() {
        System.out.println("销毁方法执行");
    }


    public void saveAccount() {
        accountDao.saveAccount();
    }

}

相关标签: spring 5