breve introducción
- código de desacople, el desarrollo de clase empresarial de la complejidad del problema: el grado de acoplamiento
- Sistema de sub-códigos:
- la lógica de negocio principal
- banca
- Seguro de negocio
- ...
- a nivel de sistema de lógica de negocio, tráfico cruzado
- eg.JDBC
- Cargar el controlador
- Crear una conexión
- asuntos abiertos
- operaciones SQL
- Confirmar la transacción
- liberación de la conexión
- eg.JDBC
- la lógica de negocio principal
- marco de pegamento
- Capas de Java SE / EE-pila completa (parada) un marco de código abierto ligera
Primavera será desacoplado dividido en dos categorías:
-
COI - Inversión de Control
Objetos para ser utilizados por la gestión de contenedores primavera unificado
eg.UserService UserService = new UserServiceImpl (); ----> Primavera para hacerse -
AOP - Programación Orientada a Aspectos
Los servicios de nivel del sistema para maximizar la reutilización
arquitectura Sprint
Acceso a datos / Integración
- Primavera JDBC aplicación ligera
- ORM - mapeo objeto-relacional
- MyBatis
- Hibernar
- OXM
- ETC.
- Actas
Web
- WebSocket
- servlet
- Web
- - elementos de empalme de portlets
AOP
núcleo de contenedores
- Frijoles
- Núcleo
- Contexto
- juegos
Prueba
característica
- No invasiva
- API Spring Framework no aparecerá en la lógica de negocio
La primavera y el COI
- inyección de dependencia
- Entre frijol de primavera para perfilar las organizaciones camino juntos
- POJO - objetos nativos Java
- Frijol
[Gimnasia] hola-Spring
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.funtl</groupId>
<artifactId>hello-spring</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.17.RELEASE</version>
</dependency>
</dependencies>
</project>
Ejemplo hardcoded
archivo de configuración de la primavera
- recursos perfiles / srping-context.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 http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userService" class="com.funtl.hello.spring.service.impl.UserServiceImpl" />
</beans>
- Obtener el MyTest.java configuración de la primavera -
控制反转
public class MyTest {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-context.xml");
UserService userService = (UserService) applicationContext.getBean("userService");
userService.sayHi();
}
}