注*(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);