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

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;}@Overridepublic 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");// 通过 idRectangle rectangle1 = (Rectangle) context.getBean("rectangle");// 通过 classRectangle rectangle2 = context.getBean(Rectangle.class);// 通过 id + classRectangle 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!");}@Overridepublic String toString() {return "Rectangle{" +"width=" + width +", length=" + length +'}';}
}public class RectangleConfig {@Beanpublic Rectangle rectangle(){return new Rectangle(3,4);}
}@RestController
public class MyController {@Autowiredpublic Rectangle rectangle;@GetMapping("/bean")public String getBeanDetails() {return rectangle.toString();//Rectangle{width=3, length=4}}
}
http://www.lryc.cn/news/434850.html

相关文章:

  • Netty中用到了哪些设计模式
  • 第67期 | GPTSecurity周报
  • Chrome 浏览器插件获取网页 window 对象(方案三)
  • 动态规划-分割回文串ⅡⅣ
  • Python编码系列—Python项目维护与迭代:持续进化的艺术
  • 【鸿蒙开发工具报错】Build task failed. Open the Run window to view details.
  • k8s集群部署:容器运行时
  • PHP7 的内核结构
  • JVM合集
  • tomcat端口被占用解决方法
  • 全新的训练算法:Reflection 70B进入大众的视野
  • 静态标注rtk文件参数解析
  • TensorFlow和PyTorch小知识
  • Java证书信息收集
  • flink写入hudi MOR表
  • 智能工厂程序设计 之-2 (Substrate) :三个世界--“存在的意义”-“‘我’的价值的实现” 之2
  • 概要设计例题
  • 注册表模式:使用注册表和装饰器函数的模块化设计
  • 怎样将vue项目 部署在ngixn的子目录下
  • FPGA开发:Verilog数字设计基础
  • 哈希表,算法
  • Java数组的定义及遍历
  • 【电路笔记】-反相运算放大器
  • 【电子通识】半导体工艺——刻蚀工艺
  • vue-router 之如何在模版(template)中获取路由配置信息?
  • HPL 源码结构分析
  • Java代码审计篇 | ofcms系统审计思路讲解 - 篇3 | 文件上传漏洞审计
  • 【Kubernetes】常见面试题汇总(五)
  • MySQL 解决时区相关问题
  • SpringSecurity Context 中 获取 和 更改 当前用户信息的问题