spring注入对象什么时候创建?spring第一个程序怎么创建?

Spring 是 Java EE 编程领域的一款轻量级的开源框架,它能够简化 Java 企业级应用程序的开发难度和周期。很受企业的欢迎,那spring注入对象什么时候创建?下面来我们就来给大家讲解一下。

创建对象的方式:

1、采用默认的构造函数创建;

2、采用静态工厂方法;

写一个静态工厂方法类

public class HelloWorldFactory
{
    public static HelloWorld getInstance()
    {
        return new HelloWorld();
    }
}

在spring的配置文件中进行声明

<bean id="helloWorld2" class="com.itheima05.spring.bean.HelloWorldFactory" p="" <="">

factory-method="getInstance">

告诉spring容器利用HelloWorldFactory类中的getInsatance静态方法产生对象

但是具体的对象的创建的过程是由程序员来完成的

实例工厂方法

写一个实例工厂类

public class HelloWorldFactory
{
    public HelloWorld getInstance()
    {
        return new HelloWorld();
    }
}

在spring的配置文件中

spring容器为HelloWorldFactory2创建对象;

告诉spring容器,利用helloWorld3对象调用getInstance方法;

创建对象的时机:

1、在默认的情况下,在spring容器启动的时候创建对象

在spring配置文件中,只要根据以上的三种方式的其中一种配置了,spring容器就会创建对象;

好处:spring容器和web容器整合的时候,当web容器启动的时候就可以初始化spring容器了,如果这个时候spring容器内部有错误,则直接会报错;

如果该bean中存放着大量的数据,而且数据的初始化发生在创建对象的时候,这个时候,数据会过早的驻留在内存中;

2、如果在spring的配置文件中一个bean的配置中有lazy-init="true",那么该bean在调用getBean方法时创建对象;

不好处:不能过早的发现错误;

好处:按照需求加载数据(什么时候要什么时候加载);

spring第一个程序怎么创建?

1. 创建 Java 项目

在 Eclipse 中创建一个简单的 Java 项目,依次单击 File -> New -> Java Project,这里将项目名称设置为 HelloSpring。

spring注入对象什么时候创建?spring第一个程序怎么创建?.jpg

2. 添加 jar 包

这里我们需要在项目中添加 Spring 和 logging 的 jar 包,操作步骤如下。

鼠标右键点击 HelloSpring 项目,然后在弹出的菜单中选择 Build Path -> Add external archives,选择 Spring 的 jar 包。

1.jpg

 这里我们可以先把 Spring 基础 Jar 包以及 Commons-loggin 导入到项目中,若后续功能增加,则根据需要再导入 Spring 的其他 Jar。

org.springframework.core-5.3.13.jar

org.springframework.beans-5.3.13.jar

spring-context-5.3.13.jar

spring-expression-5.3.13.jar

commons.logging-1.2.jar

当然,我们也可以直接将所有的 Spring Jar 包都一次性导入到项目中。

3. 创建 Java 类

在 HelloSpring 中创建 net.biancheng.c 包,然后在这个包下创建 HelloWorld.java 和 MainApp.java 类。

package net.biancheng.c;
public class HelloWorld
{
    private String message;
    public void setMessage(String message)
    {
        this.message = message;
    }
    public void getMessage()
    {
        System.out.println("message : " + message);
    }
}

2. MainApp.java 类的代码如下。

package net.biancheng.c;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp
{
    public static void main(String[] args)
    {
        ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
        HelloWorld obj = context.getBean("helloWorld", HelloWorld.class);
        obj.getMessage();
    }
}

关于以上代码,需要注意以下两点:

创建 ApplicationContext 对象时使用了 ClassPathXmlApplicationContext 类,这个类用于加载 Spring 配置文件、创建和初始化所有对象(Bean)。

ApplicationContext.getBean() 方法用来获取 Bean,该方法返回值类型为 Object,通过强制类型转换为 HelloWorld 的实例对象,调用其中的 getMessage() 方法。

4. 创建配置文件

在 src 目录下,创建一个 Spring 配置文件 Beans.xml,内容如下。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <bean id="helloWorld" class="net.biancheng.c.HelloWorld">
        <property name="message" value="Hello World!" />
    </bean>
</beans>

我们也可以将该配置文件命名为其它有效的名称,但需要注意的是,该文件名必须与 MainApp.java 中读取的配置文件名称一致。

Beans.xml 用于给不同的 Bean 分配唯一的 ID,并给相应的 Bean 属性赋值。例如,在以上代码中,我们可以在不影响其它类的情况下,给 message 变量赋值。

5. 运行程序

运行 MainApp.java,Eclipse IDE 控制台中显示信息如下。

message : Hello World!

这样我们就成功创建了第一个 Spring 应用程序,其实每一个程序的创建都不难,都是流程性的东西,只要我们会创建项目,会运行起来就可以了!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

java内存泄露原因有哪些?java内存泄露怎么办?

Java就业要掌握什么?java就业培训要多久?

面试java开发工程师自我介绍怎么讲?面试java工程师难吗?