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

Spring

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

Spring

Spring spring简介

spring是分层javaSE/JavaEE应用的full-stack轻量级开源框架。以IOC(控制反转)和AOP(面向切面编程)为内核的

其提供了展现层SpringMVC和持久层SpringJDBCTemplate以及业务逻辑层等众多企业级应用技术。

目前为止,是最受欢迎的JavaEE企业级应用的开源框架,整合了众多的第三方开源框架。

如:mybatis、springMVC等

spring发展历史

​ EJB,Spring的前身

​ 1997年,由IBM提出的EJB思想

​ 1998年,由SUN制定开发规范:EJB1.0

​ 2006年,EJB3.0版本的发布

Spring之父,Rod Johnson

Expert One to One J2EE and Development(2002) 凸显出EJB的优点

Expert One to One J2EE and Development without EJB(2004) Spring框架的雏形

凸显出J2EE开发部使用EJB的解决方式

spring入门应用

Test:测试

Core Container:核心容器

​ beans表示对象

​ Core:核心

​ Context:上下文对象

AOP:面向切面编程

Data Access : 数据库

MVC:视图展示

总结:

​ 1、项目的创建

​ 2、创建javabean

​ 3、在pom.xml文件中导入依赖的坐标

​ 4、创建spring框架的配置文件:applicationContext.xml

​ 5、在配置文件中做相关操作

​ 6、IOC测试

​ 6.1、获取spring配置文件路径

​ 6.2、调用getBean(),根据id获取对应的对象

​ 6.3、通过对象调用对应的方法

​ spring入门流程图

spring框架的配置文件

​ scope:作用范围

​ prototype:每一次执行都会创建一个新的对象

​ singleton:如果对象已经存在,无论实例化多少次,使用的对象都是同一个对象 (只实例化一次)

springIOC

IOC控制反转,将实例化的过程交给spring容器来做

IOC的选择方式

​ 1、通过id获取对应的类对象


​ 2、通过name获取对应的类对象

3、通过类获取类对象


注意:使用类获取类对象时,如果调用的在spring容器中存在多个,则会报错

DI依赖注入

​ 本质:与IOC一致,强调了调用者和被调用者的关系

​ 是Spring框架核心IOC的具体实现

​ 在编写程序时,通过控制反转,将对象的创建交给了spring容器,但是代码中不可能出现没有依赖的情况,IOC解耦只是降低他们的依赖关系(耦合度),但不会清除(切断)。

​ 那么这种业务层和持久层的依赖关系,在使用spring以后,就交给了spring来进行维护。

​ 本质就是框架把持久层对象传入到业务层,而不需要我们自己去获取

​ 设值注入:类似于java中的set方法

​ 给需要注入的成员变量设置set方法

​ 构造注入:类似于java中的构造方法

​ 给需要注入的bean创建一个构造方法

​ 注意:只是为了方便大家理解

注入的数据类型

​ 1、基本属性的注入

​ 2、引用类型的注入

​ 3、集合属性的注入

配置文件的引入

实际开发过程中,Spring的配置内容时非常多,这就导致了Spring框架配置很繁杂且体积大,所以,可以将部分配置拆解到其它配置文件中,而spring主配置文件中进行import导入即可。


总结 spring框架的配置

标签

​ id属性:在容器中Bean实例的唯一标识,不允许重复。

​ class属性:将要被实例化的bean的全限定名称

​ scope属性:Bean的作用范围,常用的是Singleton(默认)单例,prototype(实例)

​ 标签:设值注入

​ name属性:对应的Bean中的属性名称

​ value属性:注入普通的属性值(对应javabean中的赋值操作)

​ ref属性:注入的对象引用值

​ 标签

标签

​ 标签

​ 标签:构造注入

标签:导入其它Spring的配置文件

Spring框架配置之数据源

​ 引入数据坐标



    com.oracle.database.jdbc
    ojdbc8
    21.1.0.0

​ DBCP数据源的配置

​ 引入maven坐标

      
        
            commons-dbcp
            commons-dbcp
            1.4
        

​ 在spring配置文件中配置数据源



    
    
    
    

​ C3p0数据源的配置

​ 引入maven坐标



    c3p0
    c3p0
    0.9.1.2

​ 在spring配置文件中配置数据源



    
    
    
    

​ 测试

public static void main(String[] args) {
    ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
    ComboPooledDataSource dataSource = (ComboPooledDataSource) app.getBean("dataSourceC3p0");
    try {
        Connection conn = dataSource.getConnection();
        System.out.println(conn);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

public static void main01(String[] args) {
    ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
    BasicDataSource dataSource = (BasicDataSource) app.getBean("dataSourceDbcp");
    try {
        Connection conn = dataSource.getConnection();
        System.out.println(conn);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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