美文网首页
学习Spring5必知必会(4)~使用注解配置、使用java代码

学习Spring5必知必会(4)~使用注解配置、使用java代码

作者: 一乐乐 | 来源:发表于2022-03-19 00:05 被阅读0次
    ● 注意:使用注解并不能完全取代xml配置,比如配置连接池DruidDataSource,我们就不能到这个类中去贴注解。
    • 想要实现零配置(完全不使用xml进行配置):javaConfig + 注解

    ● DI注解:注解配置 <context:congfig-config/>

    ● IoC注解:组件扫描器 <context:component-scan base-package=""/>

    一、通过注解自动装配(比起xml配置的对象类型配置ref,更加推荐使用注解注入

    1、 DI 注解:@Autowired、@Resource、@Value

    • value注解的威力: 结合动态properties配置文件引入值变量 @Value("${service.port}")

    ★ 注入:

    • 常量类型 value Value

    • 对象类型 ref Autowired/Resource

    (1)在配置文件中添加注解的解析器的配置:

        <!-- DI注解的解析器 -->
        <context:annotation-config/>
    

    (2)使用注解@Autowired

    □ Autowired 注解寻找 bean 的方式: 
    
    1) **首先按照依赖对象的类型找**,如果找到,就是用 setter 方法或者字段直接注入;
    
    2)如果在 Spring 上下文中找到多个匹配的类型,**再按照名字去找**,如果没有匹配报错;
    
    3)可以通过使用 **注解@Qualifier("id名字")** 来规定依赖对象按照 bean 的 id 和类型的组合方式去找
    

    ■ DI注解 Autowired 和 Resource(都需要配置DI注解的解析器):

    • Spring官方是使用:Autowired

    • javaEE规范:Resource 【依赖:javax.annotation-api.jar】

    2、IoC 注解:

    (1)在配置文件中添加注解的解析器的配置:

       <!-- IoC注解的解析器 -->
      <context:component-scan base-package="com.shan.ioc"/>
    

    (2)使用注解@Component配置Bean

    • @Component 组件若是不写value属性值,此时的bean的id默认是类型首字母小写
    // <bean id="dataSource" class="com.shan.ioc.MyDataSource"/>
    @Component("dataSource")
    public class MyDataSource {
    
    }
    

    ■ bean 组件版型:四个组件的功能是相同的,只是用于标注不同类型的组件。

    @Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

    @Repository (持久层)用于标注数据访问组件,即 DAO 组件。

    @Service (业务层)用于标注业务层组件。

    @Controller (控制层)用于标注控制层组件(如 struts 中的 Ation,SpringMVC 的 Controller)

    3、作用域注解、初始化和销毁注解: @Scope、@PostConstruct、@PreDestroy

    • 其中初始化和销毁注解【依赖:javax.annotation-api.jar】

    二、通过java代码装配 java-config


    写在后面的话

           如果你觉得一乐的文章给您带来了一些收获,可以给个三连❤️ ,一乐会一如既往地更新有价值的博客。如果文章存在错误,也欢迎大家指出。还有,如果大家有什么好的学习技巧、学习感悟,也非常欢迎大家在评论区一起交流~

    最后感谢大家的支持,谢谢~

    相关文章

      网友评论

          本文标题:学习Spring5必知必会(4)~使用注解配置、使用java代码

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