Spring
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
优点:
◆JAVA EE应该更加容易使用。
◆面向对象的设计比任何实现技术(比如JAVA EE)都重要。
◆面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。(面向接口编程有哪些复杂度?)
◆代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。
◆JavaBean提供了应用程序配置的最好方法。
◆在Java中,已检查异常(Checked exception)被过度使用。框架不应该迫使你捕获不能恢复的异常。
第一个Sping程序:
1.在Eclipse中,创建一个名为chapter01的Web项目,将Spring的4 个基础包以及commons-logging的JAR包复制到lib目录中,并发布到类路径下。
2.在src目录下,创建一个com.itheima.ioc包,并在包中创建接口UserDao,然后在接口中定义一个say()方法。
3.在com.itheima.ioc包下,创建UserDao接口的是实现类UserDaoImpl,该类需要实现接口中的say()方法,并在方法中编写一条输出语句。
4.在src目录下,创建Spring的配置文件applicationContext.xml,并在配置文件中创建一个id为userDao的Bean。
打开Spring解压文件夹中的docs目录,在spring-framework-reference文件夹下打开html文件夹,并找到index.html文件
使用浏览器打开index.html后,在浏览器页面的Overview of Spring Framework下的7.2.1小节Configuration metadata中,即可找到配置文件的约束信息。
5.在com.itheima.ioc包下,创建测试类TestloC,并在类中编写main()方法。在main()方法。在main()方法中,需要初始化Spring容器,并加载配置文件,然后配置文件,然后通过Spring容器获得userDao实例(即Java对象),最后调用实例中的say()方法。
执行程序后,输出结果
控制台已成功输出了UserDaoImpl类中的输出语句。在TestIoc的main()方法中,并没有通过new关键字来创建UserDao接口的实现类对象,而是通过Spring容器来获取的实现类对象,这就是Spring IoC容器的工作机制。