一.什么是Spring:
Spring是分层的JavaSE/EE full-stack 轻量级开源框架,以IoC(Inverse of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的臃肿、低效的开发模式。
二.Spring框架的优点:
1.非侵入式设计。
2.方便解耦,简化开发。
3.支持AOP
4.支持声明式的事务处理。
5.方便程序测试。
6.方便集成各种优秀的框架。
7.降低了JavaEE的开发难度。
三.JavaEE的体系结构。
四。Spring的下载及其目录结构
1.下载地址:
http://repo.spring.io/simple/libs-release-local/org/springframework/spring/4.3.6.RELEASE/
2.目录介绍:
docs文件夹中包含API文档和开发规范,libs文件夹中包含JAR包和源码,Schema文件夹中包含开发所需要的schema文件
其中在lib目录下有4个重要的基础包。
1.Ispring-core-4.3.6.RELEASE.jar 是Spring框架的核心工具类,Spring其它组件都要用到这个包里的类。
2.lspring-beans-4.3.6.RELEASE.jar 是所有应用都要用到的JAR包,它包含访问配置文件、创建和管理Bean以及进行控制反转或者依赖注入操作相关的所有类。
3.lspring-context-4.3.6.RELEASE.jar 是提供了在基础IoC功能上的扩展服务,还提供了许多企业级服务的支持
4.lspring-expression-4.3.6.RELEASE.jar 是定义了Spring的表达式语言
五。Spring的核心容器。
1.BeanFactory:
创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理,其加载配置信息的语法如下
BeanFactory beanFactory =
new XmlBeanFactory(new FileSystemResource("F: /applicationContext.xml"));
2.ApplicationContext
ApplicationContext是BeanFactory的子接口,是另一种常用的Spring核心容器。它由org.springframework.context.ApplicationContext接口定义,不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。创建ApplicationContext接口实例,通常采用两种方法,具体如下:
通过ClassPathXmlApplicationContext创建
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext(String configLocation);
通过FileSystemXmlApplicationContext创建
ApplicationContext applicationContext =
new FileSystemXmlApplicationContext(String configLocation);
六.第一个程序HelloWorld的编写
1.项目完成图样:
2.各个代码编写
(1)UserImpl.java
public class UserImpl implements User
{
public void say() {
System.out.println("Hello World");
}
}
(2)User.java
public interface User {
public void say();
}
(3)TestUser.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestUser
{
// public static void main(String args[])
// {
// UserImpl user = new UserImpl();
// user.say();
// }
public static void main(String[] args) {
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) applicationContext.getBean("user");
user.say();
}
}
(4)applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<bean id="user" class="UserImpl"/>
</beans>
注意:在调试程序的过程中由于在操作IDEA的时候没有吧lib下没有执行Add as library导致一直有问题。