Camino del resorte de aprendizaje 1

Spring Framework

breve introducción

Spring Framework se debe a la complejidad del desarrollo de software y la creación de

  • Objetivo: Para hacer frente a la complejidad del desarrollo de aplicaciones empresariales

  • Función: en lugar de utilizar la básica JavaBean EJB, y ofrece más aplicaciones empresariales

  • Rango: Cualquier aplicación Java

ventajas:

marco de código abierto (contenedor)

La primavera es un peso ligero marco, no invasiva

Inversión de Control (COI) y la sección de orientación (AOP) del bastidor de contenedor

Soporta el procesamiento de transacciones, el apoyo al marco de integración

sitio web oficial: https: //spring.io/

GitHub: https: //github.com/spring-projects/spring-framework


Maven

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.2.4.RELEASE</version>
</dependency>

primavera siete módulos

La teoría del COI

IoC nombre completo Inversion of Control, es decir, el contenedor IoC "Inversión de Control", uno de los núcleos de la primavera, y obtener una descripción del objeto específico (xml o anotación) a través de una tercera parte, el control de inversión de la primavera se implementa implementación es el DI ( Dependency Injection), es decir, la inyección de dependencia.

  1. ¿Quién controla que : Después de que el modelo tradicional de desarrollo, que son el objeto de una nueva forma directa para crear un objeto, lo que significa que se inclina en su propio control directo, pero con el contenedor COI, junto al contenedor IoC a control. Así que "¿Quién controla quién" es, por supuesto objeto COI control contenedor.
  2. ¿Qué controles : objeto de control.
  3. ¿Por qué se invierte : hay COI cuando dependen de la iniciativa de crear el objeto en su propio objeto, que es hacia adelante. Pero después con la COI, inyecta directamente dependientes objetos creados por el contenedor IoC después de ser inyectado en el objeto, los objetos dependientes originales entrar en la aceptación pasiva de la iniciativa, que se invierte.
  4. Lo que invierte : la adquisición depende del objeto invierte.

COI crear objetos

Crear objetos de 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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="he" class="com.youzi.pojo.Hello">
        <property name="Str" value="Hello Spring!"/>
    </bean>
</beans>
public class Hello {
    private String Str;

    public Hello(String str) {
        Str = str;
    }

    public Hello() {
    }

    public String getStr() {
        return Str;
    }

    public void setStr(String str) {
        Str = str;
    }
}
...
@Test
public void test() {
    ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
    Object he = context.getBean("he");
    System.out.println(he);   
}

Se refirió a la forma en que la asignación de otros objetos:

<bean id="userservice" class="com.youzi.service.UserServiceImpl">
    <property name="user" ref="user"/>
</bean>

No hay parámetros de inicialización directamente

<bean id="user" class="com.youzi.dao.UserImpl"/>

Por encima de forma y llama al constructor con ninguna clase argumentos correspondiente al organismo, es decir, se requiere parámetros de inicialización o objeto debe tener un setter correspondiente, se pueden utilizar parámetros de configuración si hay que ser invocado <constructor-arg>por el tipo, el estándar, el nombre del parámetro, la referencia pasar esto de varias maneras ginseng

Utilice el constructor

public Users(Hello hello, String num) {
    this.hello = hello;
    this.num = num;
}
<bean id="users" class="com.youzi.pojo.Users">
    <!--<constructor-arg type="java.lang.String" value="1"/>-->
    <!--<constructor-arg index="1" value="2"/>-->
    <constructor-arg name="num" value="3"/>
    <constructor-arg ref="he"/>
</bean>

configuración básica primavera

Alias, se crea otro nombre para el objeto, puede crear múltiples (alias también se está frijol name creados)

<bean id="he" class="com.youzi.pojo.Hello" name="hello3,hello4">
    <property name="Str" value="Hello Spring!"/>
</bean>

<alias name="he" alias="hello1"/>
<alias name="he" alias="hello2"/>

frijol objetos Singleton por defecto creado por scope="prototype"la modificación, tales hello3, hello4 que los dos objetos diferentes

Otros XML importado

Los anteriores son sólo la configuración básica, hay muchos detalles que deben configurarse después de un nuevo estudio de cada uno dentro de la configuración


Supongo que te gusta

Origin www.cnblogs.com/wangjr1994/p/12514704.html
Recomendado
Clasificación