美文网首页
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