美文网首页
spring中一些常用的注解

spring中一些常用的注解

作者: 林皮皮s | 来源:发表于2018-10-17 11:44 被阅读0次

    前言 | spring提供使用 xml、注解、java配置、groovy配置实现bean的创建和注入

    • spring 配置文件中开启扫描包中类的注解
    • 声明bean的注解(将对象注入容器)
      1)、@Component 没有明确的角色
      2)、@Service 在业务逻辑层使用(service)
      3)、@Repository 在数据访问层使用(dao)
      4)、@Controller 在控制层使用(MVC --- Spring MVC)
    四个注解作用一样,只是为了区别不同层之间的对象
    • 修改对象的作用范围

      默认作用访问是单例的 @Scope(scopeName="singleton")

      |- @Scope("Singleton"): 默认值,可不写。一个spring容器中只有一个bean的实例
      |- @Scope("Prototype"): 每次调用都新建一个bean实例
      |- @Scope("Request"): web项目中,给每一个http request 新建一个bean实例
      |- @Scope("Session"): web项目中,给每一个http session 新建一个bean实例

    • 值类型注入 (注入bean的注解)

    通过反射的Field赋值,破坏了封装性 通过set方法赋值,推荐使用.
    • 引用类型注入 (注入bean的注解)
    推荐手动注入 自动装配 @Autowired
    • java配置
           java配置是spring 4.x推荐的配置方式,可以完全替代xml配置;java配置也是spring boot推荐的配置方式。
           java配置是通过@Configuraion 和 @Bean来实现的。
      1)、 @Configuration 声明当前类是一个配置类,相当于一个Spring配置的xml文件
      2)、@Bean 注解在方法上,声明当前方法的返回值为一个Bean

    何时使用 java 配置或者注解配置?
         全局配置使用java配置(如数据库相关配置、MVC相关配置),业务bean的配置使用注解配置(@Service、@Component、@Repository、@Controller)

    • spring支持AspectJ的注解式切面编程
      |- AOP:面向切面编程,相对于oop面向对象编程
           spring 的aop存在的目的是为了解耦。aop可以让一组类共享相同的行为。在oop中只能通过继承类和实现接口,来使代码的耦合度增强,且类只能单继承,阻碍更多行为添加到一组类上,aop弥补了oop的不足。
    • 其它常用注解
      1)、@ComponentScan 自动扫描包下所有使用@Service、@Component、@Repository和@Controller注解的类,并注册为bean ------> @ComponentScan("xxx.xx.x")
      2)、@Value:注解@Value参数中使用表达式语言实现资源的注入

    相关文章

      网友评论

          本文标题:spring中一些常用的注解

          本文链接:https://www.haomeiwen.com/subject/bffrwftx.html