spring体系中常用的核心注解梳理 您所在的位置:网站首页 spring体系 spring体系中常用的核心注解梳理

spring体系中常用的核心注解梳理

2024-06-01 05:21| 来源: 网络整理| 查看: 265

@Component作用:通用注解,通常用于标注某个不太容易判断应该归属于哪个分层的spring组件;即把资源让 spring 来管理,相当于在 xml 中配置一个 bean。 @Repository用于标注数据访问组件,即DAO组件。 @Service一般用于标注业务层 的注解。 @Controller一般用于表现层的注解, 比如struts中的action等。 上述注解均有属性值value:指定 bean 的 id,如果不指定 value 属性,默认 bean 的 id 是当前类的类名,首字母小写。 @Autowired 作用:自动按照类型注入。当有多个类型匹配时,使用要注入的对象变量名称作为 bean 的 id,在 spring 容器查找,找到了也可以注入成功。找不到则会报错。 @Qualifier 作用:在自动按照类型注入的基础之上,再按照 Bean 的 id 注入。它在给字段注入时不能独立使用,必须和@Autowire 一起使用;但是给方法参数注入时,可以独立使用。 属性:value:可以用来指定 bean 的 id。 @Resource 作用:直接按照 Bean 的 id 注入。 属性:name:指定 bean 的 id。 @Value 作用:注入基本数据类型和 String 类型数据的。 属性:value:用于指定值。 @Scope 作用:指定 bean 的作用范围。 属性:value:指定范围的值。 属性value的取值通常包括:singleton/prototype/request/session/globalsession。 四种常见的 Spring Bean 的作用域: ①singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。 ②prototype : 每次请求都会创建一个新的 bean 实例。 ③request : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP request 内有效。 ④session : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP session 内有效。 @PostConstruct 作用:用于指定初始化方法。@PostConstruct和@PreDestroy大致相当于元素的 init-method 属性和 destroy-method 属性指定的方法。@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。该注解的方法在整个Bean初始化中的执行顺序为:Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注解的方法)。 @PreDestroy 作用:用于指定销毁方法。 @Configuration 作用:用于指定当前类是一个 spring 配置类,也可以使用 @Component来代替,不过使用Configuration注解声明一个配置类显得语义更加清晰,更加严谨。 @ComponentScan 作用:用于指定 spring 在初始化容器时要扫描的包。和在 spring 的 xml 配置文件中配置的作用是一样的。:

属性:basePackages:用于指定要扫描的包。和注解中的 value 属性作用一样。

@Configuration @ComponentScan("com.mine.test") public class SpringConfiguration { }

@Bean 作用: 该注解只能写在方法上,表明使用此方法创建一个对象,并且放入 spring 容器。 属性:name:给当前@Bean 注解方法创建的对象指定一个名称(即 bean 的 id)。 @PropertySource 用于加载.properties 文件中的配置。例如我们配置数据源时,可以把连接数据库的信息写到properties 配置文件中,就可以使用此注解指定 properties 配置文件的位置。 属性: value[]:用于指定 properties 文件位置。如果是在类路径下,需要写上classpath:

@Configuration @PropertySource("classpath:jdbc.properties") public class JdbcConfig{ }

@Import 作用:用于导入其他配置类,在引入其他配置类时,可以不用再写@Configuration 注解。当然,写上也没问题。 属性:value[]:用于指定其他配置类的字节码。

@Configuration @ComponentScan


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有