Cinco minutos para aprender programación: revisar un artículo de la primavera y el SpringMVC

Haga clic en el "azul programador Huang oblicua " preocupado por mi yo

Añadir una " estrella ", y se unan a mí ser un mejor a sí mismos


Declaración original

Este artículo fue publicado por primera vez en el número de micro-canales pública [programadores] Huang oblicua

Autor: Huang oblicua

Reimpresión favor indique la fuente y el autor al comienzo del artículo

¿Cuál es la primavera, ¿por qué quiere aprender primavera?

Su primer resorte de contacto está en qué plazo? Creo que mucha gente como yo, la primera vez que sabe que la primavera no está haciendo el proyecto para su uso, pero se vio o escuchó un marco llama la primavera de Internet, conocido como el marco terminado antes de que las estructuras de explosión y structs2, atraer una gran cantidad de atención de la gente.

Por lo tanto, no hay ninguna fuente mágica en el final de la misma, de acuerdo a los registros, el marco de tiempo apareció en la primavera de 2002, cuando engorroso para fuertes críticas marco EJB sin fin, sino también para estructuras tales marcos también tienen una actitud desfavorable, esta vez desde el primer día de primavera y, entre el gran número de desarrolladores de Java ahorrar sufrimientos incalculables.

Vamos a echar un vistazo a Baidu Enciclopedia de la definición de la primavera, primavera marco se debe a la complejidad del desarrollo de software creado. La primavera es el JavaBean básica utilizada para hacer las cosas que antes sólo ser hecho por EJB. Sin embargo, la primavera no se limita a la utilización de desarrollo del lado del servidor. La gran mayoría de las aplicaciones Java pueden beneficiarse de la sencillez, la capacidad de prueba y bajo acoplamiento desde la perspectiva de la primavera.

◆ 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

El resorte es un Inversion ligero de Control (COI) y la sección de orientación (AOP) del marco contenedor.

marco de primavera que refleja los puntos de dolor existe dos programadores en el desarrollo de Java y largo plazo, es decir, frijol y la sección de gestión unificada, y la primavera del COI y AOP solo resuelve ambos problemas.

De hecho, el contenido de colorido ecología primavera, además de los módulos mencionados en el mapa, y ahora la primavera ha sido desarrollado para springboot y springcloud, proporcionar soluciones de muy alta calidad para los servicios de micro, de fondo pila de tecnología.

Hoy en día, el marco de la primavera se ha convertido en un programador de Java debe saber el contenido será, a continuación, aprender cómo iniciar marco de la primavera, se ha convertido en un tema que hoy nos ocupa.

En primer lugar, echar un vistazo a cómo la parte de base del muelle debe aprender.

base de la primavera

El resorte del núcleo es el COI y AOP, y conocer a estas dos cosas, se puede decir que se enteraron de la primavera (pero no)

En primer lugar, vamos a echar un vistazo a la esencia de la COI, es el marco de gestión de frijol para hacerlo, primavera mismo mantiene un depósito de granos, todo el grano será unificada de gestión, de esta manera, la necesidad de utilizar todos los casos no es necesario escribir engorroso escena y se repite el código de instancias, sino simplemente una declaración completada y dependiente de la inyección de frijol en ella.

Aquí está un ejemplo sencillo.

Si no hay una primavera de la COI, que puede ser un inconveniente cuando ejemplos de gestión, como el siguiente fragmento de código, tenemos que ser instanciado a UserService y Bookservice en el método constructor, la inyección y la dependencia correspondiente, de lo contrario no hay manera de completar su propia inicialización a. Incluso cuando tenemos que usar el propio instantiate del controlador de la misma.

class QueryController{
    UserService userService;
    BookService bookservice;
    QueryController() {
        userService = new UserService;
        userService.setUserDao(new UserDap());
        bookservice = new BookService;
        bookservice.setBookDao(new BookDao());
    }
    public static void main(Strings[] args) {
        QueryController queryController = new QueryController();
    }
}

Una vez que utilizamos marco de primavera, utilizando sus características de inyección de dependencia, se puede ahorrar una gran cantidad de cosas. Como se muestra en el código siguiente.

@Controller
class QueryController{
    @Autowired
    UserService userService;
    
    @Autowired
    BookService bookservice;
}

Por supuesto, también aquí provisto de una anotación función de resorte, tal como la anotación @Controller esto, una clase puede ser declarado como un controlador, el muelle de depósito de granos de instanciarlo, y para el tratamiento especial de conformidad con el controlador, y la @ Autowired anotaciones, que pueden poner ejemplo UserService y Bookservice se inyecta en años QueryController, y todo esto, porque la primavera de la COI para ayudar a lograr la gestión de frijol.

Por supuesto, en sí Bookservice UserService y también puede confiar en su correspondiente DAO capa (capa de persistencia) se inyecta a través de la manera COI.

A continuación, el COI, AOP es una mirada a la forma de lograrlo.

AOP esencia es el uso de la sección de proxy dinámico para completar la unificación de la función, el uso de AOP, que puede poner a algunos de los mismos tipos de reutilización de código transversal, como la interceptación de acceso, verificación de identidad, gestión de seguridad, etc., que no necesitan el código incrustado en el negocio cuando está en, pero a menudo se utilizan para algo, puede utilizar AOP para hacer un corte, y luego especificar el método requiere la interceptación, añadido al objeto de AOP representación a través de un proxy dinámico cortará el código, por lo que se ejecuta código de negocio, en lugar a la aplicación del objeto proxy, se llamará al método de la sección correspondiente.

Uno de los más proxy dinámico simple de lograr lo siguiente:

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class Main {
    public static void main(String[] args) {
        InvocationHandler handler = new InvocationHandler() {
            @Override
            public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                System.out.println(method);
                if (method.getName().equals("morning")) {
                    System.out.println("Good morning, " + args[0]);
                }
                return null;
            }
        };
        Hello hello = (Hello) Proxy.newProxyInstance(
            Hello.class.getClassLoader(), // 传入ClassLoader
            new Class[] { Hello.class }, // 传入要实现的接口
            handler); // 传入处理调用方法的InvocationHandler
        hello.morning("Bob");
    }
}

interface Hello {
    void morning(String name);
}

Los resultados serán de salida

public abstract void test.Hello.morning(java.lang.String)
Good morning, Bob

InvocationHandler que es el código de la clase proxy y proxy dinámico AOP es la oportunidad de lograr, se puede jugar de forma gratuita, que desea utilizar el código de la clase de proxy.

De hecho, además de la COI y AOP, primavera todavía hay muchos de nosotros a menudo utilizan componentes y módulos, como las transacciones, tales como JDBC, otro ejemplo de JMS (servicio de mensajería) y así sucesivamente, estos componentes de tecnología común se han integrado en el marco de la primavera en nuestra muy fácil de usar.

SpringMVC

muelle acabado, el siguiente paso fue la SpringMVC charla,

De acuerdo con la introducción de Baidu Baike, Spring MVC Spring Framework parte del producto de seguimiento se ha integrado en el interior Spring Web Flow. Spring proporciona un marco para la creación de aplicaciones web con todas las funciones del módulo MVC. Uso de Primavera arquitectura conectable MVC utilizar primavera para cuando el desarrollo web, puede optar por utilizar marco o integración Spring MVC de primavera con otro marco MVC desarrollo, como Struts1 (ahora generalmente no lo hacen), Struts 2 (uso general de proyecto anterior) y así sucesivamente.

Como desarrollador web, el resorte ligero de la COI y AOP me temo que no se puede apoyar el desarrollo de una página, papel SpringMVC es para ayudarle a alcanzar el desarrollo web más eficiente, se despidió de marco estructuras.

Brevemente, SpringMVC proporciona un modelo de desarrollo típico mvc, m es la capa del modelo, es responsable de proporcionar el modelo de datos y la interacción con la base de datos, y C representa el controlador, y responsable de las peticiones de proceso de distribución web, denominado en este documento como el solicitud HTTP, el controlador general, procesa la solicitud correspondiente a la URL de la tela, y devuelve el contenido correspondiente, y en cambio los contenidos de esta parte de la función, tiene que v es la capa de vista proporciona, después de rendir la página es una muy molesto cosas, devolver el objeto podría ser, podría ser JSON, puede ser una página hTML, capa de vista de manejar estas tareas.

MVC modelo de desarrollo hace resolver muchos problemas de ingenieros web, SpringMVC como marco pionera MVC también es muy natural para convertirse en el dominio de Java.

Con el desarrollo de la tecnología Java y el cambio, ahora ha Java puede hacer mucho más que el desarrollo web, y ahora los populares micro-servicios, middleware, muchos de los cuales son implementados en Java, y surgirá de forma natural por el desarrollo ecológico este springboot aparece, springcloud ha convertido en la referencia del marco de código abierto de la industria.

El tiempo es limitado, el contenido restante en el futuro vamos a seguir para el lanzamiento, así que estad atentos.

Recursos recomendados

primavera de libros, tutoriales en vídeo son de hecho mucho, creo que también aquí para recoger un poco de buena recomendaría a todo el mundo.

De hecho, la primavera es los mejores recursos técnicos en oficial: https: //spring.io/

estudiantes buen inglés pueden desear ir directamente a la documentación oficial.

libros

Primavera bota de combate, Ding Xuefeng (traductor)

análisis en profundidad fuente de Primavera

vídeo

Aquí pongo juntos un video para compartir algún recurso muy bueno para todo el mundo, como se describe en [programadores] Huang respuesta oblicua dentro de un número público "primavera" para ver

Blog

La tecnología Java almacén "Guía del programador de Java crítica"

https://github.com/h2pl/Java-Tutorial

Java integrado de toda la red de alta calidad de los contenidos de aprendizaje de ayuda que, desde básico a avanzado revisión sistemática de Java

Guía de entrevistar

Toda la red más caliente Entrevista Java Guías, un total de más de 200 páginas, muy práctico, ya sea para su revisión o preparación de entrevistas son buenas. La tecnología Java en ríos y lagos públicos [N] Respuesta "PDF" para recibir un libre.

Escrito en los últimos

Si cree que este artículo útil para usted, usted no significa que su "buen" Ja, círculo de amigos hacia adelante es mi mayor apoyo que, su apoyo es mi mayor estímulo.

Todas las sugerencias y comentarios sobre esta serie de artículos, comentarios también son bienvenidos a decirme, esperamos sus comentarios.

-----------------------

Público número: Programador Huang oblicua (ID: AntCoder )

Blog: www.how2playlife.com

Conocer casi: Huang programadores de rampa

La estación B: rampa Huang (la búsqueda de atención)

Tenemos el compromiso de hacer más fácil para que más personas al programa de auto-estudio , Dale a un hombre un pez, sino también dando a la pesca

Enfoque en número público de micro-canales [programadores] Huang respuesta oblicua "2019" para recibir los materiales de aprendizaje de terminar mis dos años

Cubiertas de auto-programación, entrevistas de trabajo, la tecnología Java, algoritmos, problemas de pincel, como sección básica del ordenador y el estudio de recopilación de datos 8000G.

Publicados 301 artículos originales · ganado elogios 1686 · Vistas 1,24 millones +

Supongo que te gusta

Origin blog.csdn.net/a724888/article/details/105021207
Recomendado
Clasificación