一:Spring的基本应用
1:创建一个web项目,将spring的4个基本包复制lib目录下
2:创建一个包,并在包中创建接口,在接口定义方法
3:创建接口的实现类,该类实现接口的方法,并编写输出语句
4:创建配置文件applicationContext.xml,并在配置文件中创建一个id为userDao的Bean
5:创建测试类TestIoC,,并在main()方法中,初始化spring容器,加载配置文件,通过容器获取userDao实例,最后调用实例中的say()方法
6:测试
二:spring boot集成servlet和jsp
1:修改pom.xml文件,添加以下内容:
2:更新maven项目
3:编写servlet 类(继承HttpServlet)
4、 添加Servlet启动类注解
5、 以上步骤完成之后,就可以通过URL方式传递参数到 java类中了。
6、 Java参数传递到JSP中,在application.properties中添 加JSP存放路径
7、 创建路径
8、 创建contorl类
9、 创建User实体类 右键source get and set
10、 创建jsp页面,名称必须与contor类里面return 的字 符串一致。
11. JSP传值验证
三:简述spring框架的优点
优点:
- 提供了一种管理对象的方法,可以把中间层对象有效地组织起来。
- 采用了分层结构,可以增量引入到项目中。
- 有利于面向接口编程习惯的养成。
- 目的之一是为了写出易于测试的代码。
- 非侵入性,应用程序对Spring API的依赖可以减至最小限度。
- 一致的数据访问介面。
- 降低Java EE API的使用难度。
缺点: - 中断了应用程序的逻辑,使代码变得不完整,不直观。此时单从Source无法完全把握应用的所有行为。
- 将原本应该代码化的逻辑配置化,增加了出错的机会以及额外的负担.
3.调试阶段不直观,后期的bug对应阶段,不容易判断问题所在。
四:简述loC和DI
IoC – Inversion of control, 控制反转。在Java开发中,IoC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。通俗的讲IoC是一种让服务消费者不直接依赖于服务提供者的组件设计方式,是一种减少类与类之间依赖的设计原则。
IoC理解:
1、应用程序无需主动new对象;而是描述对象应该如何被创建即可,IoC容器帮你创建,即被动实例化;
2、应用程序不需要主动装配对象之间的依赖关系,而是描述需要哪个服务,IoC容器会帮你装配,被动接受装配;
3、主动变被动,以前创建对象、装配对象的依赖关系都是由应用程序主动完成,现在变成被动了由IoC容器来完成;
4、应用程序不知道依赖的具体实现,只知道需要提供某类服务的对象,达到并松散耦合;
5、是一种让服务消费者不直接依赖于服务提供者的组件设计方式,是一种减少类与类之间依赖的设计原则.
DI – Dependency Injection,依赖注入。从应用程序的角度来说,即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中. 依赖注入的目标并非为软件系统带来更多的功能,而是为了提升组件重用的概率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不用关心具体的资源来自何处、由谁实现.
Ioc/DI的基本思想:
1、把程序之间的依赖关系去掉
2、把程序对象设置到IoC/DI容器的配置中,作为Bean来统一管理
3、由IoC/DI容器来管理Bean的创建、实例化
4、由IoC/DI容器来把Bean之间的关系注入到需要这些关系的对象里面
简而言之:就是把对象之间的依赖关系全部去掉,由IoC/DI容器来管理对象和对象之间的依赖关系,实现对象之间的松散耦合.