Directorio artículo
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
proyecto mavendemo copiar y modificar el nombre del proyecto
Haga clic en el proyecto springdemo
pom.xml de modificación
a la idea de operar
los próximos embarcadero implementación del servidor de
resultados de pruebas de acceso
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
idea abierta
después de crear un nuevo espacio de trabajo, proyecto springdemo importació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
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
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
<?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
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