使用Java方式配置Spring

使用Java方式配置Spring,第1张

使用Java方式配置Spring

        通过Java的方式编写一个配置类(用于配置的类,在类上加@Configuration),可以做到完全脱离XML配置文件。主要有两种实现方式:

  • @Configuration+@Bean
    • User类:可以通过注解为属性赋值
      public class User {
      
          @Value("YuJing")
          private String name;
          @Autowired
          private Cat cat;
      
          public String getName() {
              return name;
          }
      
      //    public void setName(String name) {
      //        this.name = name;
      //    }
      
      
          @Override
          public String toString() {
              return "User{" +
                      "name='" + name + ''' +
                      ", cat=" + cat.getAge() +
                      '}';
          }
      }
    • Cat类
      public class Cat {
      
          @Value("2")
          private String age;
      
          public String getAge() {
              return age;
          }
      }
    • 配置类:@Configuration---配置文件的约束;@Bean---配置文件中显式配置的。这种方式要通过方法名获取相应的bean,即context.getBean("getUser")。
      @Configuration
      //@ComponentScan("com.jing")
      public class AppConfig {
      
          @Bean
          public User getUser(){
              return new User();
          }
      
          @Bean
          public Cat getCat(){
              return new Cat();
          }
      }
  • @Configuration+@ComponentScan("com.jing")+@Component
    • User类:@Component,通过注解的方式配置bean。使用注解的前提下是有扫描器。
      @Component
      public class User {
      
          @Value("YuJing")
          private String name;
          @Autowired
          private Cat cat;
      
          public String getName() {
              return name;
          }
      
      //    public void setName(String name) {
      //        this.name = name;
      //    }
      
      
          @Override
          public String toString() {
              return "User{" +
                      "name='" + name + ''' +
                      ", cat=" + cat.getAge() +
                      '}';
          }
      }
    • Cat类:@Component,通过注解的方式配置bean。
      @Component
      public class Cat {
      
          @Value("2")
          private String age;
      
          public String getAge() {
              return age;
          }
      }
    • 配置类:@ComponentScan相当于配置文件中的,用于扫描并注册所有包中定义的bean。
      @Configuration
      @ComponentScan("com.jing")
      public class AppConfig {
      
      //    @Bean
      //    public User getUser(){
      //        return new User();
      //    }
      //
      //    @Bean
      //    public Cat getCat(){
      //        return new Cat();
      //    }
      }
      总结:配置bean有三种方式:配置文件、注解@Component、或者配置类中的@Bean,无论使用哪种方式,java中所有的类都需要配置成IOC容易中的bean,交由IOC管理。前两种方法常用来配置本应用以内的类;而第三种方式常用来配置应用以外的类,比如jdbc连接,这种我们无法接触到源码,即无法修改源程序的配置文件以及在源码的类上直接加注解。
总结 
  • 配置bean有三种方式: 
    • 配置文件
    • 类上加注解@Component
    • 配置类中的通过@Bean注解
  • 无论哪种方式,我们的目标是将使用到的类注册到IOC容器当中,交由IOC管理。
  • 前两种方式常用来配置本应用以内的类,即我们可以访问源代码,并可以直接修改(修改配置文件或者加注解)
  • 第三种方式的用途:配置应用以外的类,比如jdbc连接。这种我们无法接触到源码,即无法对其进行修改。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5437758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存