什么是Spring
- 什么是spring:spring时分层的java SE/EE应用full-stack轻量级开源框架。
- 展现层SpringMVC
- 持久层Spring JDBCTemplate
- 业务层事务管理
Spring的优势
- 方便解耦,简化开发
- AOP的编程支持
- 声明式事务的支持
- 方便程序测试
- 方便集成各种优秀框架
- 降低JavaEE API 的使用难度
- Java源码
Spring框架
spring开发步骤
- 创建Maven模块(学习SSM之前需要有Maven基础,我的Maven基础学习,几个小时就学完了)
- 导入sping坐标(Maven方法)
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
</dependencies>
- 创建接口文件
- 接口实现
- 创建配置文件applicationConetxt.xml
- 配置全包名,给定对应标识。
- 测试
package com.spring.demo;
import com.spring.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoDemo {
public static void main(String[] args) {
ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao=(UserDao) app.getBean("userDao");
userDao.Save();
}
}
- 运行结果
Sping配置文件
-
Bean 无参构造 创建
基本属性:
id:Bean实例在Spring容器中的唯一标识
class:Bean的全限定名称 -
scope:指对象的作用范围,取值如下:
singleton: 默认值,单例的
prototype: 多例的
request :WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 request 域中
session: WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中
global session :WEB 项目中,应用在 Portlet 环境,如果没有 Portlet 环境那么globalSession 相当
于 sessio -
Bean生命周期配置
init-method:指定类中的初始化方法名称
destroy-method:指定类中销毁方法名称
重点
标签
id属性:在容器中Bean实例的唯一标识,不允许重复
class属性:要实例化的Bean的全限定名
scope属性:Bean的作用范围,常用是Singleton(默认)和prototype
标签:属性注入
name属性:属性名称
value属性:注入的普通属性值
ref属性:注入的对象引用值
标签
API
1)ClassPathXmlApplicationContext
它是从类的根路径下加载配置文件 推荐使用这种
2)FileSystemXmlApplicationContext
它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。
3)AnnotationConfigApplicationContext
当使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注
重点
ApplicationContext app = new ClasspathXmlApplicationContext(“xml文件”)
app.getBean(“id”)
app.getBean(Class)