初识Spring
以前提到web经常会听到Spring这个框架,今天初识了Spring。
Spring是整合框架,它开发了我们开发中要使用的框架,同时它也给我们整合了许多其他好用的框架,例如:Hibernate、Mybatis、Shiro等等。
Spring是什么?
Spring是整合框架,它开发了我们开发中要使用的框架,同时它也给我们整合了许多其他好用的框架,例如:Hibernate、Mybatis、Shiro等等。
Spring可以干什么?
- 解决对象创建和对象间依赖关系的问题
- 解决整合框架的问题
-为service提供事务
- 待补充-
Spring的7大模块:
-
Spring Core:
- 这个核心功能包就是用来实现IOC/DI的 Spring AOP:
- 面向切面的编程 Spring ORM:
- 是Spring提供的整合其他框架的这个模块 Spring DAO:
- 持久层模块(类似于dbutils/jdbc/hibernate) Spring WEB:
- 这个实际上是提供的对web的支持的模块 Spring Context:
- 这个提供的是对上下文的支持的模块 Spring WEB MVC:
- 就是 Spring MVC,基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架
HolleWorld
Spring的HelloWorld程序的步骤:
(1)、下载jar包 spring-framework-4.3.7.RELEASE-dist.jar (2)、创建工程(不解释) (3)、导入核心包
- commons-logging-1.1.3.jar:日志相关的包 是用来辅助运行的
spring-beans-4.3.7.RELEASE.jar:生成对象的相关包
spring-context-4.3.7.RELEASE.jar:这个是上下文相关的包
spring-core-4.3.7.RELEASE.jar:核心功能包
spring-expression-4.3.7.RELEASE.jar:表达式相关的(4)、在我们src下面编写一个名字叫做 bean.xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--自动生成对象--> <bean id="user_01" class="com.qf.helloword.User"></bean> </beans>
(5)、使用API获取这个对象
第一种模式
public void test() throws Exception { //有两种模式来获取这个JAVA对象 //第一种 通过工厂模式来获取JAVA对象 //框架默认的路径就在src下 ClassPathResource resource=new ClassPathResource("bean.xml"); //获取这个工厂 XmlBeanFactory factory=new XmlBeanFactory(resource); //第三步:获取这个JAVA对象 User user=(User) factory.getBean("user_01"); System.out.println(user); }
第二种模式
public void test2() throws Exception { ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("bean.xml"); //第三步:获取这个JAVA对象 User user=(User) context.getBean("user_01"); System.out.println(user); }