栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring框架基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring框架基础

什么是Spring框架

Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。第一个版本出现在2004年,由美国的sun公司开发,是Java领域最成功的框架。
其成功来自于设计理念,而不是技术。
最核心的理念是Ioc(控制反转)和AOP(面向切面编程)。
Ioc是Spring的基础,AOP是Spring的重要的功能,最典型的应用是数据库的事务处理。

spring框架的核心功能

Spring框架的核心功能有两个:

1、Spring容器作为超级大工厂,负责创建、管理所有的Java对象,这些Java对象被称为Bean。

2、Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为"依赖注入"的方式来管理Bean之间的依赖关系。
Spring框架的优点
低侵入式设计,代码的污染极低。

独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。

 Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
 
Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。

Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。

Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。
Spring框架的核心机制 Bean

bean就是实体类
Spring框架管理bean是通过两种方法

  1. ClassPathXmlApplicationContext

从类加载路径下搜索配置文件,并根据配置文件来创建Spring容器。
实现了ApplicationContext接口,该类可以用于初始化Ioc容器

  1. FileSystemXmlApplicationContext

:从文件系统的相对路径或绝对路径下去搜索配置文件,并根据配置文件来创建Spring容器。

Bean定义的过程:
  1. Resource定位

Spring Ioc容器根据开发者的配置进行资源定位。在Spring开发中,可以通过xml或 注解的方式进行资源配置,配置的内容由开发者提供

  1. BeanDefinition的载入

是将Resource定位到的信息,保存到Bean定义中(BeanDefinition),但是不会创建Bean实例

  1. BeanDefinition的注册

将BeanDefinition中定义的信息发布到Ioc容器中

  1. 创建Bean实例

当开发者调用getBean方法时Ioc容器会生成一个Bean实例

Ioc(Inverse of Control 控制反转)

也叫依赖注入(Dependency Injection);其中心思想是以配置文件来管理Java实例的协作关系
使用Spring框架时,调用者无需主动获取被依赖对象,调用者只要被动接受Spring容器为调用者的成员变量赋值即可,使用Spring后,调用者获取被依赖对象的方式由原来的主动获取,变成了被动接受——称之为控制反转。
Spring容器负责将被依赖对象赋值给调用者的成员变量——相当于为调用者注入它依赖的实例,因此称之为依赖注入。
Ioc主要基于两个接口:

  1. BeanFactory:

BeanFactory接口是Spring Ioc容器的最底层接口
BeanFactory中的方法

方法描述
getBean()用于获取配置给Spring Ioc容器的Bean。参数可以是字符串,也可以是Class类型
isSingleton()用于判断是否单例。若判断为真,则表示从容器中获取的bean是唯一的。默认是true
isPrototype()与isSingleton()相反,若为真,容器会生成一个新的实例
  1. ApplicationContext:

ApplicationContext是BeanFactory的子接口。对BeanFactory接口进行了很多有用的扩展,ApplicationContext在绝大部分的工作场景下都使用ApplicationContext Spring IoC容器

Idea整合spring 使用maven的webapp模板创建一个idea项目

导入使用Spring框架需要的jar包

将Speing版本号放入内部

 
 5.1.1.RELEASE

中放入需要的jar包


      junit
      junit
      4.11
      test
    


    
    
      org.springframework
      spring-expression
      ${springVersion}
    
    
      
      org.springframework
      spring-core
      ${springVersion}
    
    
      
      org.springframework
      spring-beans
      ${springVersion}
    
    
      
      org.springframework
      spring-context
      ${springVersion}
    

    
      org.springframework
      spring-web
      ${springVersion}
    

    
    
      org.projectlombok
      lombok
      1.18.12
      provided
    

    
      javax.servlet
      javax.servlet-api
      4.0.0
    
    
      javax.servlet.jsp
      javax.servlet.jsp-api
      2.3.3
    
    
      junit
      junit
      4.13.2
      compile
    
在resources(classpath)路径下创建spring配置文件(applicationContext.xml),在该配置文件中配置bean的清单

以下文件为原始模样;后序配置需再加





在web.xml文件中指定配置文件(applicationContext.xml)的位置

再webApp文件夹下的web.xml中添加如下信息




  Archetype Created Web Application
  
  
    contextConfigLocation
    classpath*:applicationContext.xml
  


  
    org.springframework.web.context.ContextLoaderListener
  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号