使用注解要开启自动扫描功能
<context:component-scan base-package="要扫描的包路径"/>
-
@Configuration 该注解作用的类相当于IOC容器,生成bean对象,等价于XML配置文件中配置的beans;同时在XML文件中必需使用<context:component-scan base-package=”XXX”/> 进行扫描
-
@Bean 作用于方法,表示将方法生成的对象放入IOC容器
-
@Value 从配置文件中获取值
-
@Qualifier 指定自动注入的Bean对象的名称,与@Autowire的一起用,因为自动注入默认是按照类型注入的,如果同一类型下有多个bean对象,则需要指定注入的是哪一个,即按照名称注入
-
@Resource注解与@Autowired注解作用类似,但是两个注解的匹配bean的顺序不一样
- resource注解默认是按照name名称属性来匹配
- 或者通过name属性和type属性指定匹配的bean
- Autowired则是默认按照类型来进行注入的
- Autowired是属于Spring提供的注解,Resource是J2EE的注解,是java的产物
6.@Scope 用来设置bean对象的作用域,例如singloton、prototype等,spring中默认bean对象的作用范围是单例的,单例对象是当IOC容器创建后就创建并加载
7.【@Repository、@Service、@Controller】这三个注解作用于类会将这个类生成的对象作用为bean放入spring容器,他们的作用相同,在开发中分别对应于持久层、服务层、表现层
-
@Component 注解与上述三个注解的作用相同,是所有收Spring管理组件的通用形式,当组件不好归类的时候就可以使用这个
-
@Lazy(true) 表示延迟初始化
-
@PostConstruct 用在方法上表示指定初始化bean之前执行的方法,
-
@DependsOn 定义Bean对象初始化及销毁时的顺序
-
@Primary 在自动装配的时候,如果Bean有多个可选对象,则被注解为@Primary的bean将作为优选注入,否则将抛异常
-
@PreDestroy 摧毁bean之前进行的操作
-
@Async 异步方法调用,该注解作用的方法或者类里的所有方法都需要异步处理,即被注解的方法或者类中的方法执行的时候会由spring创建新的线程来执行,而调用他们的方法会在原来的线程中继续执行