web全栈式开发之SSM框架(Spring+Spring MVC+MyBatis)

目录

1.Spring简介

2.Spring的优势

3.Spring程序开发步骤 

4.Bean标签范围配置

5.Bean生命周期配置

6.Bean实例化三种方式

7.Bean的依赖注入概念

8.Bean的依赖注入的数据类型

9.引入其他配置文件(分模块开发)

10.Spring的重点API

11.数据源(连接池)的作用

12.数据源的开发步骤

13.抽取jdbc配置文件

Spring注解开发

1.Spring原始注解

2.Spring新注解

3.Spring集成Junit步骤

4.Spring集成web环境遇到的坑!!!

5.ApplicationContext应用上下文获取方式

6.Spring提供获取应用上下文的工具


1.Spring简介

Spring 是分层的JavaSE/EE应用full-stack轻量级开源框架,以IOC(Inverse of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面变成)为内核。提供了展现层SpringMVC和持久层Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。

2.Spring的优势

(1)方便解耦,简化开发:通过Spring提供的IOC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合,用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

(2)AOP编程的支持:通过Spring的AOP功能,方便进行面向切面编程,许多不容易用传统OOP实现的功能可以通过AOP轻松实现。

(3)声明式事务的支持:可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务管理,提高开发效率和质量。

(4)方便程序的测试:可以用非容器依赖的编程方式进行几乎所有的测试工作,测试 不再是昂贵的操作,而是随手可做的事情。

(5)方便集成各种优势框架:Spring对各种优秀框架(Struts、Hibernate、Hessian、Quartz等)的支持。

(6)降低 JavaEE API的使用难度:Spring对JavaEE API(如JDBC、JavaMail、远程调用等)进行了封装,使这些API的使用难度降低。

(7)Java源码是经典的学习范例:Spring的源代码设计精妙、结构清晰,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。它的源代码无疑是Java技术的最佳实践的范例。

3.Spring程序开发步骤 

(1)导入Spring开发的基本包坐标;

(2)编写Dao接口和实现类;

(3)创建Spring核心配置文件applicationContext.xml;

(4)在Spring配置文件中配置UserDaoImpl;

(5)使用Spring的API获得Bean实例。

4.Bean标签范围配置

1)当scope的取值为singleton时

        Bean的实例化个数:1个

        Bean的实例化时机:当Spring核心文件(applicationContext.xml)被加载时,实例化配置的Bean实例

   Bean的生命周期:

  • 对象创建:当应用加载,创建容器时,对象就被创建了
  • 对象运行:只要容器在,对象一直活着
  • 对象销毁:当应用卸载,销毁容器时,对象就被销毁了       

2)当scope的取值为prototype时

        Bean的实例化个数:多个

        Bean的实例化时机:当调用getBean()方法时实例化Bean

  • 对象创建:当使用对象时,创建新的对象实例
  • 对象运行:只要对象在使用时,就一直活着
  • 对象销毁:当对象长时间不用时,被Java的垃圾回收期回收了

5.Bean生命周期配置

  • init-method:指定类中的初始化方法名称
  • destroy-method:指定类中的销毁方法名称

6.Bean实例化三种方式

  • 无参构造方法实例化
  • 工厂静态方法实例化
  • 工厂实例方法实例化

7.Bean的依赖注入概念

依赖注入(Dependency Injection):它是Spring框架核心IOC 的具体实现。

在编写程序时。通过控制反转,把对象的创建交给了Spring,但是代码中不可能出现没有依赖的情况。IOC解耦只是降低他们的依赖关系,但不会消除。例如:业务层仍会调用持久层的方法。

这种业务层和持久层的依赖关系,在使用Spring之后,就让Spring来维护了,简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取。

8.Bean的依赖注入的数据类型

  • 普通数据类型
  • 引用数据类型
  • 集合数据类型

9.引入其他配置文件(分模块开发)

<import resource="applicationContext-xxx.xml"/>

10.Spring的重点API

ApplicationContext app = new ClassPathXmlApplicationContext("xml文件")
app.getBean("id")
app.getBean(Class)

11.数据源(连接池)的作用

  • 数据源(连接池)是提高程序性能而出现的
  • 事先实例化数据源,初始化部分连接资源
  • 使用连接资源时从数据源中获取
  • 使用完毕后将连接资源归还给数据源
  • 常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等

12.数据源的开发步骤

  • 导入数据源的坐标和数据库驱动坐标
  • 创建数据源对象
  • 设置数据源的基本连接数据
  • 使用数据源获取连接资源和归还连接资源

13.抽取jdbc配置文件

applicationContex.xml加载jdbc.properties配置文件获得连接信息。

首先,需要引入context命名空间和约束路径:

                           http://www.springframework.org/schema/context/spring-context.xsd

Spring注解开发

1.Spring原始注解

Spring是轻代码而重配置的框架,配置比较繁重 ,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。

注意:使用注解进行开发时,需要在applicationContext.xml中配置组件扫描,作用是指定哪个包及其子包下的Bean需要扫描以便识别使用注解配置的类、字段和方法。

<!-- 注解的组件扫描 -->
<context:component-scan base-package="com.caoyan"></context:component-scan>

2.Spring新注解

使用原始注解还不能全部替代xml配置文件,还需要使用注解替代的配置如下:

  • 非自定义的Bean的配置:<bean>
  • 加载properties文件的配置:<context:property-placeholder>
  • 组件扫描的配置:<context:component-scan>
  • 引入其他文件:<import>
  • @Configuration、@ComponentScan、@Bean、@PropertySource、@Import、

3.Spring集成Junit步骤

  • 导入Spring集成Junit的坐标
  • 使用@RunWith注解替换原来的运行期
  • 使用@ContextConfiguration指定配置文件或配置类
  • 使用@Autowired注入需要测试的对象
  • 创建测试方法进行测试

4.Spring集成web环境遇到的坑!!!

我们要把项目部署到tomcat中去,现在tomcat最新版本为tomcat10,这就是个坑!!!放弃tomcat10,选择tomcat9。

5.ApplicationContext应用上下文获取方式

应用上下文是通过new ClasspathXmlApplicationContext(spring配置文件)方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件),这样的弊端是配置文件加载多次,应用上下文对象创建多次。

在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在web应用启动中,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,在将其存储到最大的域servletContext域中,这样就可以在任意位置从域中获得应用上下文ApplicationContext对象了。

6.Spring提供获取应用上下文的工具

Spring提供了一个监听器ContextLoaderListener,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中,提供了一个客户端工具WebApplicationContextUtils供使用者获得应用上下文对象。

我们只需要做两件事:

  • 在web.xml中配置ContextLoaderListener监听器(导入spring-web坐标)
  • 使用WebApplicationContextUtils获得应用上下文对象ApplicationContext

持续更新中...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java EE互联网轻量级框架整合开发的其中一种方是使用SSM框架Spring MVCSpringMyBatis)和Redis。 首先,SSM框架是一种非常流行的互联网开发框架,它结合了Spring MVCSpringMyBatis的优势。Spring MVC提供了MVC的实现,可以帮助我们构建灵活、可扩展的Web应用程序;Spring是一个轻量级的IOC(Inversion of Control)容器,并提供了丰富的企业级功能,如事务管理、安性等;而MyBatis是一个简单易用的持久层框架,提供了ORM(Object Relational Mapping)和数据库访问的功能。 其次,Redis是一种开源的内存数据库,也是一种缓存数据库。它支持多种数据结构,如字符串、列表、哈希、集合等,以及一些高级功能,如发布/订阅、事务等。Redis的高速读写能力和丰富的功能使其成为互联网应用中常用的缓存数据库。在SSM框架中,我们可以使用Redis来缓存数据库查询结果、session数据等,以提高系统的读写性能和响应速度。 在整合开发中,SSM框架通常会负责处理用户请求和返回响应,通过Spring的IOC容器来管理和注入依赖的对象,而MyBatis则负责与数据库进行交互。我们可以通过配置文件来整合SSM框架和Redis,让它们协同工作。例如,我们可以在Spring的配置文件中配置MyBatis的数据源和Mapper接口,以及Redis的连接池和缓存配置;在Spring MVC的配置文件中配置控制器、视图解析器和拦截器等;同时,我们还可以使用Redis的API来进行缓存数据的读写操作。 总之,通过整合SSM框架和Redis,我们可以充分发挥它们各自的优势,构建高性能、可扩展的互联网应用程序。这种整合开发可以帮助我们简化开发流程、提高开发效率,并提供更好的用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Caoyy686868

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值