java spring入门_JavaWeb学习:Spring入门

一、概述

Spring是一个分层的SE/EE一站式轻量级开源框架

一站式框架:有EE开发的每一层解决方案。

Web层:SpringMVC

Service层:Spring的Bean管理,Spring声明式事务

DAO层:Spring的JDBC模板,Spring的ORM模板

二、Spring的优势、

1、方便解耦,简化开发

通过Spring提供的IOC容器,可以将对象之间依赖关系交由Spring控制,以降低程序过度耦合。

2、AOP编程的支持

3、声明式事务的支持

4、方便集成各种优秀框架

三、IOC:Inversion of Control(控制反转)

耦合比如:

Class Service{public voidmethod(){

DAO dao= newDAOImpl();

dao.method();

}

}

现在DAOImpl要换成DAOExtendImpl的话,就需要修改代码

Class Service{public voidmethod(){

DAO dao= newDAOExtendImpl();

dao.method();

}

}

这样就会大大增加开发风险和成本。那能不能不修改代码情况下就能实现程序的扩展?

传统解决方案:使用工厂模式

801917aa4f529a36ed22b7e9d28d0b47.png

实现Service与Dao之间的解耦,但是DAO与工厂有耦合,解决他们之间的耦合就使用配置文件,配置对象类型,通过反射创建对象。

Spring的解耦底层原理也是这样的,Spring已经提供了工厂,所以我们只需要配置对象类型就可以了。具体使用方式:

①、下载Spring的开发包

0f4d56033b3b7246ef9a2db5c75cb086.png

在springframework下找到spring,并展开,选择要下载的版本,展开它

9fac8fb35225e1eb1aa56802ed420a1e.png

②、解压

d185a28df1bfb20aa9a3a5597ddab3b3.png

docs:Spring的开发规范和API

libs:Spring的开发jar和源码

schema:Spring的配置文件的约束

③、创建web项目,搭建环境

a96e5dd2001822c03ce345f82656b2fa.png

e31a01345d62eaecf2c8ae0094a36f48.png

④、创建接口和实现类

public interfaceUserDAO {public voidsave();

}

public class UserDAOImpl implementsUserDAO{

@Overridepublic voidsave() {

System.out.println("DemoDAOImpl...");

}

}

⑤、将实现类交给Spring管理

Ⅰ、在src下新建applicationContext.xml

在spring的解压路径下找到spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html\xsd-configuration.html,并双击打开,找到 the beans schema,复制如下内容

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

Ⅱ、将UserDAO实现类配置

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

⑥、编写测试类

@Testpublic voiddemo1() {//创建Spring的工厂

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//根据工厂获取对象

UserDAO userDAO = (UserDAO) applicationContext.getBean("userDAO");

userDAO.save();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值