用SpringBoot 创建1、发动机类,包括显示发动机详细信息方法;2、汽车类,包括查看发动机信息方法,该方法依赖发动机类的显示发动机详细信息方法;3、在Spring中配置两个类的依赖关系 ;4、主类,main方法调用汽车类的查看发动机信息方法。
时间: 2024-09-26 10:05:56 浏览: 38
在Spring Boot中,我们可以创建如下的类结构:
1. 发动机类(Engine.java):
```java
@Component
public class Engine {
private String engineDetails;
public Engine(String details) {
this.engineDetails = details;
}
@GetMapping("/engine")
public String getEngineInfo() {
return "Engine Details: " + engineDetails;
}
}
```
在这个类中,我们声明它是一个`@Component`,这意味着Spring会自动管理它的生命周期,并且我们还定义了一个HTTP GET请求映射(`@GetMapping`),用于显示发动机的详细信息。
2. 汽车类(Car.java):
```java
import org.springframework.beans.factory.annotation.Autowired;
public class Car {
private Engine engine;
@Autowired
public Car(Engine engine) {
this.engine = engine;
}
public void viewEngineInfo() {
System.out.println(engine.getEngineInfo());
}
}
```
这里我们通过`@Autowired`注解注入了`Engine`实例,汽车类有一个方法`viewEngineInfo()`,它会调用发动机的`getEngineInfo()`方法来获取并打印发动机信息。
3. Spring配置(application.yml 或 application.properties):
```yaml
# 如果是YAML文件
spring:
beans:
car: # 自动装配到Car
factory: com.example.CarFactory
# 如果是properties文件
spring.autowire.mode=byType
car=com.example.Car
```
在配置文件中,可以设置自动装配策略(如`@Autowired`),这里的例子假设有个`CarFactory`工厂类负责创建`Car`实例。
4. 主类(App.java):
```java
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
// 创建Car实例并调用查看引擎信息
Car car = new CarFactory().createCar();
car.viewEngineInfo();
}
}
```
在`main`方法里,我们启动Spring应用程序,并通过`CarFactory`创建`Car`实例,然后调用`viewEngineInfo()`方法。
阅读全文