Mola (a) - para criar objectos com recipiente mola COI

1. Perfil da Primavera

Como uma estrutura para desenvolvimento Java EE pode ser alcançado a implantação, o objeto de gerenciamento de transações, programação orientada a aspectos, e muitas outras funções.

É como um campeão de artes marciais, tem seu próprio ecossistema, o estado é muito alto, todos nós devemos ser aperto proficiente-lo.

2. Crie um projeto de Primavera

maneira simples : com o configurado, copie, não tem que criar manualmente um passo a passo
como o projeto para copiar de mavendemo
encontrar a localização de mavendemo
Aqui Insert Picture Descrição
projeto mavendemo copiar e modificar o nome do projeto
Aqui Insert Picture Descrição

Aqui Insert Picture Descrição
Clique no projeto springdemo
Aqui Insert Picture Descrição
arquivo pom.xml Modificar
Aqui Insert Picture Descrição
a idéia de operar
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
nos próximos servidor molhe implantação
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
resultados de acesso de teste
Aqui Insert Picture Descrição
até agora, um projeto springdemo irá criar sucesso!

De acordo com os requisitos, ele pode ser importado para uma área de trabalho diferente
para criar uma spring_course espaço de trabalho na unidade D, e apenas criar copiar um springdemo bom projeto este espaço de trabalho
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
ideia aberta
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
depois de um novo espaço de trabalho é criado, projeto de importação springdemo
Aqui Insert Picture Descrição

Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Até agora, springdemo projectos ao abrigo do novo espaço foi criado!

Além disso, você precisa adicionar uma dependência em dependências arquivo pom.xml: primavera-contexto e primavera-core
Aqui Insert Picture Descrição

3. Mola COI para criar objectos

Um método para criar objetos em Java
novos novos (1).
(2) clone: Entidade implementos classe de interface Cloneable clone override () método, e direitos de público
(. 3) refletor
(4) objetos desserializar: implementos classe entidade Serializáveis

Em adição ao acima de quatro, pode ser usado para criar recipiente mola COI
(5) dentro de um recipiente utilizando uma mola objeto ioc. Não use de novo, mas também por resolver documento + xml reflexão interna para alcançar

testes de código (para alcançar o acima cinco métodos):

  • Primeiro, crie um estudante classe de entidade na pasta 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 + '\'' +
                '}';
    }
}
  • Criar uma classe de teste IocDemo (pré-teste quatro tipos) na pasta 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);
    }
}
  • resultados operacionais
    Aqui Insert Picture Descrição

Próxima Primavera criado pelo quinto método:

  • Primeiro, crie um applicationContext.xml arquivo de configuração na pasta de rescourse e definir um estudante objetos dentro
    Aqui Insert Picture Descrição
<?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>
  • Em seguida, crie uma classe de teste no java pasta 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);
    }
}
  • resultados operacionais
    Aqui Insert Picture Descrição

Primavera COI ordem de execução:

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

(1) Em primeiro lugar recursos carregamento no documento applicationContext.xml
(2) a análise do documento
(3) getBean ( 's1' ), s1 analisado a partir do documento para o objecto. Usando o mecanismo de java reflexão, refletir um objeto e voltou

um simples: o princípio da Primavera COI interna alcançar é xml analisar + reflexo
Nota: propriedades de inicialização chamando setXXX para alcançar os objetos criados chamando o construtor padrão sem argumentos para alcançar, em seguida, os requisitos devem manter o padrão sem argumentos construtor, ou primavera recipiente ico não pode instanciar o objeto.

COI resumiu objecto passo de inicialização de:
(1) carregar o applicationContext.xml
(2) correspondente para o analisado objecto ID
(3) que é reflectida pelo ligando para o construtor padrão sem argumentos, instanciar um objecto
(4) ligando os setXXX, propriedades de inicialização

Publicado 62 artigos originais · ganhou elogios 2 · Vistas 2723

Acho que você gosta

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