1. 创建对象,无参数构造执行
在上面的 MainApp
类中,通过 Spring 容器初始化时,会根据配置文件中的信息实例化 HelloWorldService
对象。HelloWorldService
类中如果有无参数的构造方法,那么在初始化时会执行该构造方法。
2. 不用 new
方式,还可以如何创建对象?
在 Spring 框架中,对象的创建一般不直接使用 new
关键字,而是通过 Spring 容器进行管理。除了在 XML 配置文件中配置对象外,还可以使用注解(比如 @Component
、@Service
、@Repository
等)标记类,让 Spring 扫描并创建对象。例如:
// 在 HelloWorldService 类上添加 @Service 注解
@Service("helloWorldService")
public class HelloWorldService {
// 无参数构造方法
public HelloWorldService() {
System.out.println("无参数构造方法被执行!");
}
public String getGreeting() {
return "Hello, Spring!";
}
}
3. 创建对象放到哪里?
在 Spring 中,对象的创建通常由 Spring 容器负责。在上面的例子中,创建对象的过程被放在了 MainApp
类的 main
方法中,这是一个常见的入口点。在实际的应用中,对象的创建和管理通常由 Spring 容器负责,开发者只需要从容器中获取需要的对象即可。这种方式使得对象的创建和依赖关系的管理更加灵活和方便。