文章目录
Spring简介
Spring框架是一个集众多设计模式于一身的开源、轻量级的项目管理框架。它是 Spring 技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立。
Spring Framework
Framework :框架
Spring 有两个核心部分: IoC 和 AOP。
IoC IOC Inverse of Control 的简写,译为“控制反转”,指把创建对象过程交给 Spring 进行管理。
AOP Aspect Oriented Programming 的简写,译为“面向切面编程”。
Spring Framework的作用
Spring 框架用来管理[创建|使用|销毁]项目中的组件,由于spring 框架可以帮我们生产项目中组件对象,因此也习惯称spring是一个工厂|容器。
使用Spring框架之前的开发
使用maven快速搭建目录结构
UserDAO接口
在没有使用Spring框架之前,我们都是通过 new 关键字创建对象,调用方法
package com.liu.dao; public interface UserDAO { void save(String name); }
UserDAO实现类UserDAOImpl
public class UserDAOImpl implements UserDAO { @Override public void save(String name) { System.out.println("userDAO save name = " + name); } }
测试类
public class TestUserDAO { public static void main(String[] args) { //new关键字,创建组件对象 UserDAOImpl userDAO = new UserDAOImpl(); //使用组件对象 userDAO.save("小张"); //销毁组件对象,由JVM机销毁 } }
输出
userDAO save name = 小张
第一个Spring程序
下面就快速开始搭建spring的环境并写下第一个spring程序,感受一下
1.pom.xml导入spring核心及相关依赖
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.2.RELEASE</version> </dependency> </dependencies>
2.创建spring核心配置文件,名字随意,不过习惯上叫 applicationContext.xml,位置:本项目的 resources 目录下
3.编写核心配置文件,通过spring 管理组件
bean: 用来管理组件对象的创建
class: 用来指定管理组件对象的权限定名, 包.类
id: 用来指定spring框架创建的当前组件对象在 spring (工厂/容器) 中唯一标识 全局唯一
推荐:当前接口的首字母小写
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 把UserDAOImpl交给spring容器管理 --> <bean id="userDAO" class="com.liu.dao.impl.UserDAOImpl"/> </beans>
4.启动工厂/ 容器 / spring
public class TestSpring { public static void main(String[] args) { //启动工厂 ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); //获取工厂中创建好的对象,参数:获取工厂中指定对应的唯一标识 UserDAO userDAO = (UserDAO) context.getBean("userDAO"); System.out.println(userDAO); userDAO.save("Hello Spring"); } }
输出
com.liu.dao.impl.UserDAOImpl@12108b5 userDAO save name = Hello Spring