①spring简介以及环境搭建(一)

时间:2024-01-04 21:00:14

注*(IOC:控制反转、AOP:面向切面编程)

spring官网:http://spring.io/

spring简介

  spring是一个开源框架

  spring为简化企业级应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能

  spring是一个IOC和AOP容器框架

spring特点

  框架:spring实现了简单的组件配置组合成一个复杂的应用,在spring中可以使用XML和Java注解组合这些对象

  轻量级:spring框架在系统初始化的时候不用加载所有的服务,为系统节约了资源

  非入侵性:spring的框架代码不会出现在用户代码中,有利于代码的复用(基于Spring开发的应用中的对象可以不依赖与Spring的API)

  依赖注入DI和控制反转IOC:两者概念几乎相同,当某个角色(可能一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者 实例的工作通常由Spring容器来完成,然后调用者,因此也称为依赖注入

  容器:spring是一个容器,因为它包含并管理应用对象的生命周期

  一站式:spring整合了各种企业应用的开源框架和优秀的第三方类库,因此称为一站式框架

Spring组件通俗翻译:

  SPRING IO PLATFORM:流处理组件

  SPRING BOOT:根组件,集成了最基础应用

  SPRING FRAMEWORK:spring中核心的组件

  SPRING CLOUD DATA FLOW:云计算工作流

  SPRING CLOUD:云计算

  SPRING DATA:大数据处理

  SPRING INTEGRATION:集成

  SPRING BATCH:批处理

  SPRING SECURITY:安全组件

  SPRING HATEOAS:rest接口方案

  SPRING REST DOCS:文档组件

  SPRING SPCAL:移动社交组件

  SPRING AMQP:移动端主动信息推送

  SPRING MOBLE:移动设备解决方案组件

  SPRING FOR ANDROID:安卓设备解决方案组件

  SPRING WEB FLOW:工作流

  SPRING WEB SERVICES:接口

  SPRING LDAP:统一权限登录平台

  SPRING SESSION:

  SPRING SHELL:

  SPRING FLO:针对于前端

  SPRING KAFKA:消息组件

  SPRING STATEMACHINE:

spring环境搭建:

  maven的pom.xml配置(引入jar包):

<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.1.RELEASE</version>
</dependency>
</dependencies>

  ②配置文件(应用上下文):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd ">
<!-- 此处为bean的配置 -->
</beans>

IOC容器及Bean的配置:

<bean id="apple" class="com.zzj.spring.ioc.Apple"></bean>

  bean属性ID:

    在IOC容器中必须是唯一的

    若id没有指定,spring自动将权限定性类名作为bean的名字

    id可以指定多个名字,名字之间可同逗号,分号或空格分隔

  bean属性class:

    写对应bean的全类名

对应JavaBean中创建对象操作代码(采用reflect反射,详见随笔②):

private ApplicationContext ioc;
ioc = new ClassPathXmlApplicationContext("此处为配置文件的路径"); //通过此方法来获取javaBean对象
Apple apple = ioc.getBean("此处为配置文件中bean的id",Apple.class);