• Spring使用注解代替配置


    一.Spring使用注解代替配置

      1.使用注解之前,较新的spring版本得导入spring的一个aop包,还需要导入schame目录下的context目录的约束文件并引入到主配值中

      2.在主配置文件开启使用注解的一个标签,如图:

      3.现在就可以到指定包下的类中加注解了

    二.在类上的注解

      1.如果想指定该类注册到主配值文件中,可以在类上加@Component(value="user1"),value是指定对象的命名,相对于主配置文件的<bean name="user1" class="">

      2.除了@Component()之外还有三个跟它作用上一模一样,只是命名不同:@Controller,@Service,@Repository;可以清楚的知道对象是属于哪一层的

      3.描述scopre属性,可以在类上加@Scope(scopeName = "singleton")

    三.属性上的注解

      1.在值属性上可以加@Value(value="tom"),在主配置相当:<property name="属性名" value="tom"></property>

      2.对象属性上:

          >可以加@Autowired,表示在spring容器中自动装配符合对象类型的对象;如果存在多个类型相同的对象则无法具体注入哪一个对象

          >@Autowired+@Qualifier("car1")一起使用,自动装配指定名称的对象

          >@Resource(name="car1"),手动注入指定名称的对象(推荐使用)

      3.在属性上面注入是通过反射的Filed,这种方式是破坏了面向对象思想的封装性,官方呢是更推荐使用set方法注入在set方法上加注解,不过这东西仁者见仁智者见智。

    四.方法上的注解

      1.如果想指定对象的初始化方法和摧毁前调用的方法,可以在指定的方法上加@PostConstruct表示初始化,@PreDestroy表示spring容器摧毁前调用

      2.如果scope属性是prototype的话,创建的实例是不归容器管理的,也意味着对象的方法有@PreDestroy也不会调用

  • 相关阅读:
    数据库事务的特性以及隔离级别
    非受检异常(运行时异常)和受检异常的区别等
    在测试crontab执行脚本的时候,修改了linux的系统时间,crontab不执行了。
    perl的foreach循环的坑
    javascript中快速求数组的全部元素的相加之和
    js 百度地图
    PHP 取前一天或后一天、一个月时间
    php截取字符串函数
    js jquery 基本元素操作
    PHP 替换标签和标签内的内容
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/12766743.html
Copyright © 2020-2023  润新知