Spring框架

SSM框架

Spring是什么

Spring是分层的java SE/EE应用full-stack(全栈)轻量级框架,以 loC (Inverse Of Control : 反转控制) 和 AOP (Aspect Oriented Programming : 面向切面编程)为内核。

反转控指的是 反转ben的创建权

Spring 全栈指的是各层都有解决方案

web层 Spring MVC dao层JDBC 模板 Spring date

Spring 提供了展现层 SpringMVC持久层 Spring JDBCTemplate 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JAVA EE企业应用开源框架。

Spring的发展历程

Spring的优势

/***********************************************************/

ref 代表引用

singleton 默认的 单例的

prototype 多例的

Bean生命周期配置

init-method:指定类中的初始化方法名称

destroy-method:指定类中销毁方法名称

Bean的依赖注入分析

 

通过两种方法

1、get set 方法 调用 UserService set()UserDao()方法,将UserDao对象设置进去

2、构造方法(有参,无参)

Bean的依赖注入概念

Bean依赖注入的三种数据类型

  • 普通数据类型

  • 引用数据类型

  • 集合数据类型

Bean生命周期配置

 

 

 

//配置scope="singleton"的时候:
//对象创建:加载Spring核心配置文件时,创建Spring容器时,创建bean(bean的实例化时机:当应用加载时,创建容器,对象就被创建了)
//对象运行:只要容器在,对象就一直活着
//对象销毁:当应用卸载,容器销毁时,对象就被销毁了

//配置scope="prototype"的时候:
//测试scope属性 scope="prototype"  打印地址不同  多例的        spring容器中userDao bean 存在多个
//bean的实例化时机:在每一次getBean时创建Spring容器 创建bean的实例 (每次getBean时创建一个,每次getBean时创建一个)
//对象的创建:当使用对象时,创建对象实例
//对象运行:只要对象在使用中,就一直活着
//对象销毁:当对象长时间不使用时,会被java的垃圾回收机制回收

Bean生命周期配置

//init-method:指定类中的初始化方法名称 
//destroy-method:指定类中的销毁方法名称

ean 实例化的三种方式:

重点:1、无参构造 2、工厂静态 3、工厂实例

依赖注入:

Bean的依赖注入的概念:spring框架核心 IOC 的具体实现 在Bean里面依赖注入 ,将dao的依赖注入到service的内部,通过set方法 将

dao 注入给 service

将service 和 dao 的依赖关系注入到容器里面。

ref:引用的这个对象(可引用其他的bean对象),value:引用这个对象名字的字符串;直接设置一个值(赋一些简单类型的值)

对象引用使用ref 普通属性使用value

 

 

 

 Bean的依赖注入的方式 怎样将UserDao注入到UserService里面呢

1.构造方法

2.set 方法:在userServiceImol 里面创建set方法,在xml配置文件(applicationContext.xml)里面写一个p命名空间 xmlns:p="http://www.springframework.org/schema/p" 然后 bean里面配置p命名空间 :

<bean id=:"userService" class="com.itheima.service.impl.UserServiceImpl" p:userDao-ref="userDao">

 

Bean的三种数据类型的注入:

引用数据类型 UserDao 注入 UserService ref

普通数据类型 value

集合数据类型

 

集合数据类型:

import标签引入其他配置文件

 

 

Spring 相关API

 

 

使用场景:如果相应的Bean存在多个使用id区获取,如果相应的Bean存在一个可以使用类型的方式去获取

id:Bean对象存在多个使用ID

class:Bean对象存在一个使用class的方式 比如app.getBean(DataSource.class) ——————>(对应的容器当中对象的类型)

DataSource : 数据源

 

##

Spring配置数据源        DataSource

1.1数据源(连接池)的作用

  • 数据源(连接池)是提高程序性能出现的

  • 事先实例化数据源,初始化部分连接资源

  • 使用连接资源时从数据源中获取

  • 使用完毕后将连接资源归还给数据源

常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等

1.1数据源的开发步骤

① 导入数据源的坐标和数据库驱动坐标(第三方提供)‘

② 创建数据源对象

③ 设置数据源的基本连接对象

④ 使用数据源获取连接资源和归还连接资源

 

1.检查自己是否安装了mysql,以及用户名密码是否正确

2.查看自己安装的mysql版本号,对应的在pom.xml里修改相应版本的mysql-connector的版本号

3.查看mysql是否有test库

 

 

@Autowired 自动注入 按照数据类型注入(只需要写@Autowired) 从spring容器进行匹配,

@Qualifier("") 要被注入的Bean的id 按照id值从容器中进行匹配,但是需要 @Autowired 和 @Qualifier 一起使用

@Resource(name="userDao")//@Resource 相当于@Qualifier() + @Autowired("userDao")

组件扫描 扫描bean,扫描指定的基础包及其子包 关键字:compoent-scan base-packge 基本包

配置组件扫描:>在context命名空间下 <context:component-scan base-package="路径名" base-package:基本包 只需配置基本包Spring 扫描指定的基础包及其子包

使用xml配置的方式set方法是要写的,通过反射调用set方法注入。使用注解方式不需要写set方法

EL表达式:${jdbc.dirver}

@value("${jdbc.dirver}")

private String dirver;

sout(dirver);

打印:com.mysql.jdbc.Driver

 

注解说明
@Component使用在类上用于实例化Bean
@Controller使用在web层类上用于实例化Bean
@Service使用在service层类上的实例化Bean
@Repository使用在dao层类上用于实例化Bean
@Autowired使用在字段上用于根据类型依赖注入
@Qualifier结合@Autowired一起使用用于根据名称进行依赖注入
@Resoure相当于@Autowired + @Qualifier,按照名称进行注入
@value注入普通类型
@Scope标注Bean的作用范围
@PostConstruct使用在方法上标注该方法是Bean的初始化方法
@PreDestroy使用在方法标注该方法是Bean的销毁方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值