博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring基础
阅读量:6715 次
发布时间:2019-06-25

本文共 2584 字,大约阅读时间需要 8 分钟。

 

理解什么是Spring?

03年,spring框架发布,通过10多年的发展,spring框架已经发展成JavaEE开发中的非常重要的一个框架。虽然还是有公司采用自己的方式来处理代码间的耦合问题,但是他们采用的方式依旧是Spring框架的基础,即:工厂模式与服务定位器模式等。

Spring是一个从实际开发中抽取出来的框架,它对代码中需要重复解决的步骤抽象成为了一个框架。留给开发者的仅仅是与特定应用相关的部分,大大提高了企业应用的开发效率。例外、Spring也提供了一种Template设计原理,对大量的通用步骤进行了封装,开发者只需调用Template,而无须自己再次实现那些通用步骤。

   Spring是为企业应用开发提供的一个轻量级解决方案,包括:基于依赖注入的核心机制,基于AOP的声明式事务(联想下编程式事务),整合多种持久层技术的整合,整合很多优秀的WEB MVC框架等。Spring是致力于JavaEE应用各层的解决方案,而不是单单针对某一层。Spring贯穿表现层,业务层,持久层,但是Spring并不想取代那些已有的框架,而是以高度的开发性与它们无缝整合。

Spring框架的组成结构图:

 

 

在使用Spring框架时,必须使用到Spring Core Container(Sping容器),它代表了Spring框架的核心机制---IOC(控制反转)。

使用Spring框架的优点:

1、    低侵入式设计,代码的污染极低

2、    Spring容器降低了业务对象替换的复杂性,提高了组件之间的解耦。

3、    Spring的AOP[(Aspect Orient Programming),也就是面向切面编程] 支持允许将一些通用任务如:安全,事务,日志等进行集中式处理,从而提供了更好的复用。

4、    Spring的ORM和DAO提供了与第三方持久化框架的良好整合,并简化了底层的数据库访问。

5、    Spring的高度开发性,并不强制应用完全依赖于Spring,开发者可自由选择Spring框架的部分或全部。

搭建一个简单的spring框架:

1、    首先创建一个web应用

2  导入必须的jar文件  需要导入的文件有:

 

1、    编写spring框架的应用上下文配置文件applicationContext.xml,该文件发在src目录下:

如:

1 
2
19 20 21

 建立mvc框架

1 package com.cy.dao.impl; 2  3 import com.cy.bean.UserInfo; 4 import com.cy.dao.IUserDao; 5  6 public class UserDaoImpl implements IUserDao { 7  8     @Override 9     public void addUser(UserInfo user) {//就不写实现了10          System.out.println(user.getName());11         System.out.println("这是我的持久化类的具体实现,我在这儿的作业是对对象进行持久化!");12     }13 14 }

 

1 package com.cy.service.impl; 2  3 import com.cy.bean.UserInfo; 4 import com.cy.dao.IUserDao; 5 import com.cy.service.IUserService; 6  7 public class UserServiceImpl implements IUserService{ 8    private IUserDao dao; 9    public void setUserDao(IUserDao dao){10        this.dao=dao;11    }12     @Override13     public void addUser(UserInfo user) {14         dao.addUser(user);15         16     }17 18 }

 

再到.xml文件中配置

1 
2
3
4
5

 

 

1 package com.cy.action; 2  3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5  6 import com.cy.bean.UserInfo; 7 import com.cy.service.IUserService; 8  9 public class UserAction {10     11     public static void main(String[] args) {12         ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");    13         IUserService service=(IUserService) ac.getBean("userServiceImpl");    14         UserInfo user=new UserInfo();15         user.setName("小明");16         service.addUser(user);17         18         19         20     }21 22 }

 

结果为:

小明

这是我的持久化类的具体实现,我在这儿的作业是对对象进行持久化!

接下来会详细讲这里面的内容!

 

转载地址:http://stkmo.baihongyu.com/

你可能感兴趣的文章
甘肃祁连山加大生态保护 北麓草原冬日现绿头鸭
查看>>
公务员周末送外卖是否违纪?官方暖心回复获网友点赞
查看>>
双星闪耀 上汽大众途岳、全新一代帕萨特联袂亮相
查看>>
监控系统云计算核心技术,主要包括十项技术
查看>>
下半年最值得关注的10个技术公众号
查看>>
MySQL 异步驱动浅析 (一):性能分析
查看>>
理解高性能网络模型
查看>>
提高 JavaScript 开发效率的高级 VSCode 扩展!
查看>>
30岁的你,还在写代码吗?
查看>>
阿里提出联合预估算法JUMP:点击率和停留时长预测效果最优
查看>>
世界杯要来了,AI预测冠军哪家强?
查看>>
代码这样写更优雅 (Python 版)
查看>>
SVG入门—如何手写SVG
查看>>
【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制
查看>>
深入理解虚拟机之虚拟机性能监控和故障处理工具
查看>>
写个 vue-loading-template 组件
查看>>
北漂之毕业裁员后的又一波奇遇
查看>>
关于11月比特币现金将添加CTOR事件
查看>>
SIGIR2018大会最佳短论文:利用对抗学习的跨域正则化
查看>>
美国黄金公司Schiff Gold:BCH避险潜力远大于BCE
查看>>