美文网首页
以注解方式开发Bean

以注解方式开发Bean

作者: 皮皮力_996a | 来源:发表于2019-03-01 23:59 被阅读0次

1. HelloWorld的例子改成用注解来实现

  • HelloWorld类,采用@Component注解

    package com.spring.annotation;
    import org.springframework.stereotype.Component;
    @Component
    public class HelloWorld {
       public String getHello() {
            return "Hello World";
       }
    }
    
  • HelloWorldApp类,采用@ComponentScan注解

    package com.spring.annotation;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    import org.springframework.context.annotation.ComponentScan;
    
    @ComponentScan
    public class HelloApp {
    
    public static void main(String[] args) {
      ApplicationContext context = new AnnotationConfigApplicationContext(HelloApp.class);
      HelloWorld  helloWorld = context.getBean(HelloWorld.class);
      System.out.println(helloWorld.getHello());
        }
    }
    
  • 运行结果


    image.png

2、Student和Phone的例子改成用注解的方法实现

  • Lombok插件的使用
    打开Settings,选择Plugins,搜索Lombok,安装,重启IDEA
    添加依赖

    <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.16.18</version>
          <scope>provided</scope>
      </dependency>
    
  • Phone类

     package com.spring.annotation;
    import lombok.Data;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    /**
    * 采用注解和Lombok开发的Phone类
    */
    @Component
    @Data
    public class Phone {
    @Value("iPhoneX")
    private String brand;
    
    @Value("6666.66")
    private double price;
    }
    
  • Student类

    package com.spring.annotation;
    
    import lombok.Data;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    @Component
    @Data
    public class Student {
    @Value("Tom")
    private  String name;
    
    @Value("20")
    private int age;
    //使用@Autowired注入一个Phone类型的bean
    @Autowired
    private Phone phone;
    }
    
  • StudentApp类

    package com.spring.annotation;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    import org.springframework.context.annotation.ComponentScan;
    @ComponentScan
    public class StudentApp {
    public static void main(String[] args) {
      ApplicationContext context=new AnnotationConfigApplicationContext(StudentApp.class);
      Student student=context.getBean(Student.class);
      System.out.println(student);
         }
    }
    
  • 运行结果


    image.png

Lombok学习

学习链接

相关文章

网友评论

      本文标题:以注解方式开发Bean

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