当前位置: 首页 > article >正文

Java 创建对象方法的演变

1、普通 Java 代码

public class Rectangle {
    private int width;
    private int length;
    public Rectangle() {
        System.out.println("Hello World!");
    }
    public void setWidth(int widTth) {
        this.width = widTth;
    }
    public void setLength(int length) {
        this.length = length;
    }
    @Override
    public String toString() {
        return "Rectangle{" +
                "width=" + width +
                ", length=" + length +
                '}';
    }
    public static void main(String[] args) {
        Rectangle rectangle = new Rectangle();
        rectangle.setLength(3);
        rectangle.setWidth(2);
    }
}

2、Spring

  1. 编写配置文件:
    官网提供
    第一段是命名空间
    第二段是我们自己的 bean,需要给 bean 指定 id(对象的唯一标识,不可重复),class(实现的类的全限定名),属性赋值(set 后面的属性)。

  2. 通过 ClassPathXmlApplicationContext 调用 Bean,可以通过三种方式调用:id(需要强转)/ class(需要 bean 是单例的)/ id + class 。

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("service.xml");
        // 通过 id
        Rectangle rectangle1 = (Rectangle) context.getBean("rectangle");
        // 通过 class
        Rectangle rectangle2 = context.getBean(Rectangle.class);
        // 通过 id + class
        Rectangle rectangle3 = context.getBean("rectangle",Rectangle.class);
        System.out.println(rectangle1);
    }

3、Spring Boot

  1. 定义一个类
  2. 定义Config 配置类,并通过注解将其注册为 Bean,如@Component,@Bean,@Service等。
  3. 之后就能在其他类中通过 @Autowired 或 @Resource 注入使用
@Data
@AllArgsConstructor
public class Rectangle {
    private int width;
    private int length;
    public Rectangle() {
        System.out.println("Hello World!");
    }
    @Override
    public String toString() {
        return "Rectangle{" +
                "width=" + width +
                ", length=" + length +
                '}';
    }
}

public class RectangleConfig {
    @Bean
    public Rectangle rectangle(){
        return new Rectangle(3,4);
    }
}

@RestController
public class MyController {
    @Autowired
    public Rectangle rectangle;

    @GetMapping("/bean")
    public String getBeanDetails() {
        return rectangle.toString();//Rectangle{width=3, length=4}
    }
}

http://www.kler.cn/a/298857.html

相关文章:

  • SharpDX 从入门到精通:全面学习指南
  • pytest自动化测试数据驱动yaml/excel/csv/json
  • 如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码
  • 链路聚合与GVRP的混合构建(eNSP)
  • springboot472基于web网上村委会业务办理系统(论文+源码)_kaic
  • 人工智能:人机交互和用户体验:相关学点、两者关系、未来趋势
  • ARM----时钟
  • Mybatis--SqlSessionFactory 、SqlSession
  • Java并发复习
  • 文案改写工具有哪些?5款智能改写工具迅速提升文案品质
  • Android11 MTK 安装apk时进行密码验证
  • 经验笔记:SQL调优
  • Java 入门指南:Java 并发编程 —— Copy-On-Write 写时复制技术
  • ElasticSearch的DSL查询④(DSL查询、RestClient的DSL查询)
  • Linux内核 -- 内存管理之 lru_cache_add_inactive_or_unevictable 函数
  • go切片的深入学习以及context库的使用
  • 一道迭代器失效练习题
  • SparkSQL FUNCTION相关操作
  • 基于Spring Boot的小区物业管理系统
  • 本地Gitblit使用
  • 使用Pandas高效读取和处理Excel数据
  • 静态内部类
  • MySQL中的redo log、 undo log、bin log
  • 提前购|基于SSM+vue的创新型产品提前购平台(源码+数据库+文档)
  • docker进阶 compose等
  • 指针 (五)