Primavera (a) - para crear objetos con recipiente resorte COI

1. Perfil de Primavera

Como marco para el desarrollo de Java EE se puede lograr la implantación, el objeto de gestión de transacciones, programación orientada a aspectos, y muchas otras funciones.

Es como un campeón de artes marciales, tiene su propio ecosistema, el estado es muy alta, todos debemos ser competentes agarre ella.

2. Crear un proyecto de Primavera

Una manera sencilla : con ya configurada, copiar, no tiene que crear manualmente un paso a paso
como el proyecto para copiar de mavendemo
encontrar la ubicación de mavendemo
Aquí Insertar imagen Descripción
proyecto mavendemo copiar y modificar el nombre del proyecto
Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción
Haga clic en el proyecto springdemo
Aquí Insertar imagen Descripción
pom.xml de modificación
Aquí Insertar imagen Descripción
a la idea de operar
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
los próximos embarcadero implementación del servidor de
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
resultados de pruebas de acceso
Aquí Insertar imagen Descripción
hasta el momento, un proyecto springdemo va a crear el éxito!

Según las necesidades, se puede importar en otro espacio de trabajo
para crear un espacio de trabajo spring_course en la unidad D y simplemente crear un proyecto springdemo buena copia de este espacio de trabajo
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
idea abierta
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
después de crear un nuevo espacio de trabajo, proyecto springdemo importación
Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Hasta el momento, springdemo proyectos en el nuevo espacio ha sido creado!

También es necesario agregar una dependencia en las dependencias pom.xml: primavera-contexto y la primavera-core
Aquí Insertar imagen Descripción

3. primavera COI para crear objetos

Un método para crear los objetos de Java
nuevas nuevas (1).
(2) clon: Entidad implementos clase de interfaz Cloneable clon de anulación () método, y los derechos a pública
(. 3) de reflector
(4) Objetos deserializar: implementa la clase entidad serializables

En adición a lo anterior de cuatro, se puede utilizar para crear recipiente resorte COI
(5) en un recipiente con un objeto COI primavera. No utilice nueva, sino también mediante la resolución de documento + xml reflexión interna para lograr

pruebas de código (para lograr lo anterior cinco métodos):

  • En primer lugar, crear una clase de entidad de Estudiantes en la carpeta java
package com.zz.domain;

import java.io.Serializable;

public class Student implements Cloneable, Serializable {
    private int id;
    private String name;
    private String gender;
    private String birthday;
    private String major;

    public Student() {
    }

    public Student(int id, String name, String gender, String birthday, String major) {
        this.id = id;
        this.name = name;
        this.gender = gender;
        this.birthday = birthday;
        this.major = major;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", birthday='" + birthday + '\'' +
                ", major='" + major + '\'' +
                '}';
    }
}
  • Crear una clase de prueba IocDemo (previa a la prueba cuatro tipos) en la carpeta java
package com.zz.test;

import com.zz.domain.Student;

import java.io.*;
import java.lang.reflect.Constructor;

public class IocDemo {
    public static void main(String[] args) throws Exception {
        File file = new File("dest.data");
        //new
        Student s1 = new Student(01,"刘一","男","1998-05-11","通信");
        System.out.println(s1);

        //clone()
        Student s2 = (Student) s1.clone();
        System.out.println(s2);

        //反射
        Class aClass = s1.getClass();  //创建类对象
        //反射构造方法,返回构造方法对象
        Constructor constructor = aClass.getConstructor(int.class, String.class, String.class, String.class, String.class);
        Student s3 = (Student) constructor.newInstance(new Object[]{02, "王二", "男", "1999-12-01", "英语"});
        System.out.println(s3);

        //对象反序列化
        ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
        out.writeObject(s1); //把刘一对象写入到文件中。

        ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
        Student s4 = (Student) in.readObject();
        System.out.println(s4);
    }
}
  • Los resultados operativos
    Aquí Insertar imagen Descripción

En la próxima primavera creado por el quinto método:

  • En primer lugar, crear un archivo de configuración en applicationContext.xml carpeta rescourse y definir objetos en el interior de un estudiante
    Aquí Insertar imagen Descripción
<?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.xsd">

   <!--定义一个学生对象-->
    <bean id="s1" class="com.zz.domain.Student">
        <property name="id" value="088"/>
        <property name="name" value="王思聪"/>
        <property name="gender" value="男"/>
        <property name="birthday" value="1988-07-18"/>
        <property name="major" value="谈恋爱"/>
    </bean>
</beans>
  • A continuación, cree una clase de prueba en la carpeta java IocDemo02
package com.zz.test;

import com.zz.domain.Student;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class IocDemo02 {
    public static void main(String[] args) {
        //使用了spring ioc 容器注入了一个对象。没有使用new.内部也是通过反射+xml文档的解析来实现的。
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        Student s1 = (Student) context.getBean("s1");
        System.out.println(s1);
    }
}
  • Los resultados operativos
    Aquí Insertar imagen Descripción

Primavera COI orden de ejecución:

  ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
  Student s1 = (Student) context.getBean("s1");

(1) En primer lugar la carga de recursos en el documento applicationContext.xml
(2) analizar el documento
(3) getBean ( 's1' ), s1 analizada desde el documento al objeto. Usando el mecanismo de reflexión de Java, lo que refleja un objeto y regresar

sencillo: el principio de la primavera interna COI lograr es la reflexión de análisis XML +
Nota: las propiedades de inicialización llamando setXXX para lograr los objetos creados mediante una llamada al constructor por defecto sin argumentos para lograr, a continuación, los requisitos deben conservar el valor por defecto sin argumentos constructor, o el resorte recipiente ico no puede instanciar el objeto.

COI resumió objeto etapa de inicialización de:
(1) cargar la applicationContext.xml
(2) correspondiente a la ID de objeto analizada
(3) se refleja llamando al constructor predeterminado sin argumentos, una instancia de un objeto
(4) llamando a los setXXX, propiedades de inicialización

Publicado 62 artículos originales · ganado elogios 2 · Vistas 2723

Supongo que te gusta

Origin blog.csdn.net/nzzynl95_/article/details/104327669
Recomendado
Clasificación