• java# 认识spring# spring常用注解


    java# 认识spring# 常用注解

    IOC注解

    • @compinent:相当于在xml配置一个bean。把资源让spring来管理。
      • 属性:value 相当于bean的id。默认为类名首字母小写。
    • @controller&@Service@Repository: 三者都是compinent的衍生注解。起作用与属性都是一摸一样,只是为了提供更明确的语义化。
      注意:如果容器中只有一个实例可以给属性赋值,且名称是value,value在赋值时可以不写。

    DI注解

    @Autowired:

    • 默认按类型装配(byType).
    • 默认情况下对象必须存在。可以设置required为false允许null值。
    • 如果像按名称装配可以结合@Qualifier注解进行使用。

    @Qualifier

    • 再自动按照类型注入的基础商,再按照bean的id注入。
    • 再给字段注入时不能独立使用,必须与@Autowire一起使用。
    • 但是给方法参数注入时,可以独立使用。

    @Resource

    • 默认按名称装配,可以通过@Resource的name属性指定名称.如果没有指定,默认取字段名称进行查找,当找不到与名称匹配的bean时才按照类型进行装配。
    • @Resource属于J2EE 规范的实现,推荐使用,减少与spring的耦合。
    • 注意:当name属性一但指定,就只会按照名称进行装配。

    @Inject

    • 根据类型进行自动装配,如果需按照名称进行装配,则需要配合@Named
    • @Inject是JSR330中的规范,需要导入javax.inject.inject;实现注入
    • @Inject可以作用在变量,setter方法,构造函数。

    @value

    • 给基本类型和string类型注入值
    • 可以使用占位符获取属性文件中的值

    改变bean作用范围的注解

    @Scope:指定bean的作用范围:

    • value:指定范围值,singletion,prototype等。具体意思可查看核心基础篇。

    生命周期相关注解

    • @PostConstruct
    • @PreDestroy

    配置注解

    • @Configuration:相当于spring的xml配置文件。从spring3.0开始可以使用@configuration替代xml配置文件。配置类内部包含一个或多个被@Bean注解的方法。这些方法将被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描。并用于bean定义对象,初始化spring容易。
      • 属性:value 用于指定配置类的字节码。
    • @Bean: 相当于标签。用来注册bean对象。主要用来配置非自定义bean,比如SqlSessionFactory.
    • @ComponentScan: 组件扫描器,扫描被@component,@serivice注解的类。该注解是编写在类上的。一般配合@configuration注解一起使用。
      • 属性:basePackes:用于指定要扫描的。value与basepackes的作用一样
    • @PropertySource: 用于指定properties文件路径,如在类路径下则写上classpath
      • 属性: value 用于指定properties文件路径,如在类路径下则写上classpath
    • @Import: 相当于spring配置文件中的标签,用来组合多个配置类。达到纯注解方式配置项目
  • 相关阅读:
    mac访达中的位置
    ResponseEntity和@ResponseBody以及@ResponseStatus区别
    Spring Boot中进行Junit测试
    添加数据库时出现time zone无法识别问题
    HTTPS
    表达式求值
    《进击JavaScript核心》学习笔记
    GitLab领取任务+建立分支+本地修改+上传分支+合并分支详细步骤
    黑苹果使用感受和常见问题注意事项!
    JS进阶练习
  • 原文地址:https://www.cnblogs.com/xy-c/p/14317636.html
Copyright © 2020-2023  润新知