Spring的介绍、优势、搭建与思想
2018-01-27 21:32
113 查看
1、Spring介绍
Spring是一个兴起于2003的轻量级java开源框架,由Rod Johnson创建,其目的是为了解决企业应用开发的复杂性而创建的。框架的主要优势是分层架构,分层架构允许使用者选择使用哪一组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只能由EJB完成的事。Spring的用途不仅局限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java
应用都可以从中受益。Spring的核心是控制反转(Ioc)和面向切片(AOP)。简单来说,Spring是一个分层的JavaSE/EE一站式的轻量级开源框架。
2、Spring的优势
(1)方便解耦,简化开发
Spring就是一个大工厂,可以将所有对象的创建和依赖关系维护,交给Spring管理(2)AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截,运营监控等功能(3)声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程(4)方便程序的测试
Spring对Junit4 支持,可以注解方便的测试Spring程序(5)方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(Struts、Hibernata、Mybatis等)的直接支持。3、Spring搭建(第一个程序)
创建WEB工程-导包-创建对象-书写配置文件-代码测试
(1)导包
spring-beans-4.2.4.RELEASE.jarspring-context-4.2.4.RELEASE.jar
spring-core-4.2.4.RELEASE.jar
spring-expression-4.2.4.RELEASE.jar
springsource.org.apache.commons.logging-1.1.1.jar
springsource.org.apache.log4j-1.2.15.jar
(2)创建对象
package com.hciot.bean; public class User { private String name; private Integer age; public User() { System.out.println("user对象空参构造方法"); } public User(String name, Car car) { System.out.println("User(String name, Car car)"); this.name = name; this.car = car; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User [name=" + name + ", age=" + age ]"; } }
(3)书写配置文件
a、配置文件位置任意(建议放置到src下),配置文件名任意(一般为applicationContext.xml);b、导入bean约束
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "> <!-- 将User对象交给spring容器管理 --> <bean name="user" class="com.hciot.bean.User" init-method="init" destroy-method="destroy"></bean> </beans>
(4)代码测试
package com.hciot.a_hello; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.hciot.bean.User; public class Demo { @Test public void fun1(){ //1.创建容器对象 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); //2.向容器要user对象 User u = (User) ac.getBean("user"); //3.打印user对象 System.out.println(u); } }
4、Spring思想
IOC:Inverse of Control反转控制将我们创建对象的方式反转了,以前对象的创建是由我们自己维护的,包括依赖关系的注入。使用Spring之后,对象的创建以及依赖关系可以由Spring完成,反转控制就是反转了对象的创建方式,从我们自己创建反转给了Spring.
DI:Dependency Injection 依赖注入
实现IOC需要DI支持
BeanFactory接口
spring原始接口.针对原始接口的实现类功能较为单一。BeanFactory接口实现类的容器.特点是每次在获得对象时才会创建对象
ApplicationContext
每次容器启动时就会创建容器中配置的所有对象.并提供更多功能。
丛类路径下加载配置文件:ClassPathXmlApplicationContext。
从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext("d:/xxx/yyy/xxx")
结论:web开发中,使用applicationContext. 在资源匮乏的环境可以使用BeanFactory.
相关文章推荐
- 自动化框架的构思以及POM思想搭建框架的优势
- start.spring.io快速搭建springboot项目页面解析介绍
- Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍
- SSH与SSM学习之Spring01——介绍、搭建环境与第一个例子
- 【spring学习笔记三】aop思想介绍及实现原理
- Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍
- 【SpringBoot】Spring Boot热部署(第5章 Spring Boot简单介绍 第6章 Spring Boot项目的搭建)
- dubbo入门介绍及结合spring搭建(源码放送)
- hibernate 4.1.2 + struts 2.3.1.2 + spring 3.1.1 详细介绍手动搭建框架的视频或文档架包的作用
- 传智播客 Spring基本概念介绍与环境搭建
- SpringBoot 快速搭建
- Spring Boot 学习一、搭建初步环境
- spring boot搭建源码
- 【spring in action 学习--springMVC搭建】在不使用web.xml的情况下,配置Srping MVC工程
- Spring+Struts+Hibernate的架构的搭建的步骤
- java搭建基于springboot的ssm(spring + springmvc + mybatis)的maven项目
- C++语言与OO思想介绍 - C++快速入门01
- SpringBoot 搭建
- spring核心思想理解(借鉴收藏)