Spring原始注解和新注解(使用注解代替xml配置文件)

Spring原始注解

spring的原始注解主要是为了替代xml文件中配置的 < bean >

@Component:使用在类上用于实例化Bean
@Controller:使用在web层类上用于实例化Bean
@Service:使用在service层类上用于实例化Bean @Repository:使用在dao层类上用于实例化Bean

以上四个注解属于同一个类型,其中@Component可以在替换其他三个,其他三个必须在指定的层使用。

@Autowired:使用在字段上用于根据类型依赖注入@Qualifier:结合@Autowired一起使用用于根据名称进行依赖注入
@Resource相当于@Autowired+@Qualifier,按照名称进行注入
(以上三个是用于注入对象的)
@Value注入普通属性
@Scope标注Bean的作用范围(默认是singleton,有两种取值singleton和prototype)
@PostConstruct使用在方法上标注该方法是Bean的初始化方法 @PreDestroy使用在方法上标注该方法是Bean的销毁方法

使用以上注解来实例化bean的时候还需要在applicationContext.xml中配置组件扫描,用于指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类、字段和方法。

<context:component-scan base-package="com.itheima">
</context:component-scan>

Spring新注解

使用上面的注解还不能全部替代xml配置文件,还需要使用注解替代的配置如下:
非自定义的Bean的配置:< bean >
加载properties文件的配置:< context:property-placeholder >
组件扫描的配置:< context:component-scan >
引入其他文件:< import >

@Configuration用于指定当前类是一个 Spring 配置类,当创建容器时会从该类上加载注解
@ComponentScan用于指定 Spring 在初始化容器时要扫描的包。 作用和在 Spring 的 xml 配置文件中的 <context:component-scan base-package=“com.itheima”/>一样
@Bean使用在方法上,标注将该方法的返回值存储到 Spring 容器中
@PropertySource用于加载.properties 文件中的配置
@Import用于导入其他配置类


以上所有内容来自学习《黑马程序员》spring学习视频所学

猜你喜欢

转载自blog.csdn.net/qq_43941925/article/details/114186484