Spring注解开发详解

/** 创建对象注解

  • 一.用来声明JavaBean对象的注解有四个 对应于配置文件中的Bean标签
  • 1.@Component 都可以使用
  • 2.@Controller 最好在表现层
    3.@Service 最好在业务层
    4.@Repository 最好在持久层
    其中四个都可以声明JavaBean对象,当扫描对应包下的注解时,会将被这四个注解注解的类,创建对象,并添加到Spring的容器中
    Value:声明在容器中的key
    */

/** 二.数据注入注解

  • AutoWired注解
  • AutoWired:当Spring容器中有与声明在属性上的数据类型相同的对象,会自动注入
  • 出现位置:可以是变量上,可以是方法上
  • set方法不是必须的
  • AutoWired注解的执行流程
  • 1.比较容器中对象的数据类型和要注入的属性的数据类型
  • 2.如果容器中只有一个对象类型与注入对象类型相同,则将该对象注入
  • 3.如果有多个相同,如果不指定是哪一个对象要被注入,就会报错
    */

/** 数据注入注解

  • @Qualifier:根据存储在Spring容器中的名称进行注入(需配合AutoWired使用)
  • 1.它在类中不能单独注入,要配合AutoWired进行使用,否则注入对象为空,注入失败
  • 2.它可以在方法中单独使用,指定要注入对象的名称
  • value:注入对象在容器中的key
  • @Resource:指定name="Spring容器的key值"进行注入对象
  • 以上两个只能注入JavaBean类的对象,无法注入基本数据类型的数据。且集合类型的数据只能通过xml进行注入
  • @Value:能够注入基本类型数据,通过Spring的El表达式来注入
  • 例如 @Value("#{wang}")
    private String username;
    当创建对象时,就会给username属性注入wang的值
    */

/** 三 生命周期注解

  • @Scope注解 指定生命周期
  • 默认是singleton单例
  • 当指定为prototype为多例
  • 单例的声明周期:
  • 1.出生,容器创建时创建
  • 2.存活,容器存在对象存在
  • 3.死亡,容器销毁对象销毁
  • 与容器同寿
  • 多例的生命周期:
  • 1.出生,动态的创建,按需创建
  • 2.存活,对象工作时存活(引用不为空)
  • 3.死亡, 引用为空由JVM自动进行垃圾清理,Spring不管垃圾清理
    */

/*

  • 四.配置信息有关 注解
  • @Configuration
  • 作用:指定当前类是一个配置类
  • @ComponentScan
  • 作用:指定在初始化配置时,需要扫描哪些包。
  • 与 <context:component-scan base-package=“com.itheima”></context:component-scan>作用相同
  • @import注解
  • 作用:可以直接导入分配置类,分配置类不需要再指定注解了
  • 属性:value:指定其他配置类的字节码,当我们使用import的注解后,有import注解的就是父配置类,而导入的都是子配置类
    **/

/**

  • 五.方法注入有关 注解
  • @Bean
  • 作用:把当前方法返回值对象注入到Spring容器中
  • Value指定注入对象的id
  • 默认是方法的名称
  • 当我们使用注解方法时,如果方法有参数,Spring框架会去查找是否有对应的Bean对象
  • 查找的方式和@Autowired一致
  • 即:数据类型相同且容器中只有一个查找成功,否则失败
  • 如果有多个,需要指定在容器中的id 通过@Qualifier注解的id名称来进行查找
    /
    六.Spring整合junit注解
    /
    *
  • Spring集成Junit
  • @RunWith(类名)
  • 作用:类继承Runner类 替换junit的运行类,在调用主函数的时候会根据配置文件初始化容器
  • @ContextCon
  • 属性 1.classes 如果以注解方式配置,classes=配置类.class
  •     2.locations 如果以xml方式配置 locations:classpath类路径下的/文件名.xml
    

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值