Spring学习笔记总结。

Spring学习笔记总结。,第1张

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
参赛话题:Java学习记录
话题描述:可以记录一下平时学习Java中的一些知识点、心得、例题、常见的问题解决

简介

Spring是一个开源的控制反转(Inversion of Control,IoC)和面向切面(AOP)的容器框架。Spring框架运行在业务层的。
 主要功能:

  •  降低类之间的耦合度,实现软件各层之间的解耦。 根据xml配置管理和装配对象,避免硬编码造成的程序过度耦合。

  •  根据xml配置帮助管理事务,开发者不需要编写事务控制代码,提高开发效率。

  •  提供单例模式支持,开发者不需要自己编写实现代码。

  •  提供了AOP支持,开发者很容易实现如权限拦截、运行期监控等功能。

  •  提供了众多辅助类,能够方便应用的开发。如:JdbcTemplate、HibernateTemplate。

  •  支持各种主流的应用框架,如:Hibernate、Struts2、MyBatis等,便于应用的开发。

     官网:https://spring.io/projects/spring-framework

IoC和DI

 控制反转(Inversion of Control ,IoC):控制反转就是指控制权的反转。控制权由应用代码中转移到了外部容器。IoC可以看作是更高级的工厂模式。使用控制反转必使用接口:面向接口编程,这样才能解除类之间的耦合。
 依赖注入(Dependency Injection,DI)是实现IoC的一种手段。容器负责对象的装配并把该对象通过JavaBean属性或者构造函数注入给需要的对象。有设值方法注入(Setter Injection)和构造器注入(Constructor Injection)两种方式。

使用IoC容器

首先spring既能应用在javase项目,也能应用在javaee项目,需要下载jar包。
 IoC容器是Spring框架的核心,负责创建并装配对象和对象的整个生命周期。 被IoC管理的对象通常被称为Bean。
 Spring框架中的BeanFactory接口描述了管理对象的工厂,即IoC容器。定义了获取对象的方法。
 通常使用BeanFactory的ApplicationContext子接口作为Bean容器。接口包含了BeanFactory接口的所有功能,另外还提供了国际化支持、资源访问等功能。
 可使用xml文件或注解进行Bean配置。通常配置文件名为:applicationContext.xml或beans.xml。
 要使用IoC容器,涉及到的jar包有:beans.jar、context.jar、context.support.jar、core.jar、expression.jar、commons-logging.jar(依赖)
 ApplicationContext接口的常用实现类:
FileSystemXmlApplicationContext : 通过配置文件的完整物理路径创建IoC容器。
ClassPathXmlApplicationContext 从类路径下查找xml配置文件来创建IoC容器。
WebXmlApplicationContext 适用于Web应用程序中,可以配合Servlet容器进行工作。
 创建主配置文件,配置文件中主要配置Bean对象,通常需给出类名,根元素是
通过schema进行验证。


 创建IoC容器

ApplicationContext ac = new ClassPathXmlApplicationContext(“beans.xml”);
 从容器中得到bean且使用
ac.getBean(String name);
ac.getBean(Class requiredType);
getBean(String name, Class requiredType);
配置Bean

Bean生命周期

 bean对象的创建、销毁都可交由IoC容器管理。
 scope属性用来配置bean的作用范围。可取值:singleton和prototype
singleton:单例模式的bean默认在容器创建时被实例化然后被缓存,后续所有的请求返回的是同一个实例。可以配置bean元素的lazy-init属性来延迟到第一次获取bean时实例化。如果想让所有的bean都延迟初始化,可对beans根节点设置default-lazy-init属性。
prototype:每次从容器获取的bean都会创建一个新实例。
 init-method和destroy-method属性配置bean的初始化方法和销毁方法。

DI

 构造函数注入(类中需定义对应的构造器)
使用参数名:
使用参数下标(0开始):
注:注入引用类型使用ref属性,注入值使用value属性或子元素。
 属性注入(setter方法)
使用元素的name、value、ref属性实现,或value子元素。
如果要注入null则使用元素。
 注入集合对象
 自定义引用类型注入
引用已定义的bean。。也可以用子元素
使用内部bean实现。

使用连接池 DBCP2

 拷贝dbcp2和pool的jar包
 在beans.xml配置文件中进行配置。核心类是BasicDataSource类

注意:添加destroy-method属性。
 也可在配置文件中将value属性值设置为${key}的形式,从.properties属性配置文件中获取对应的值。需要引入context命名空间。配置加载属性文件:

Druid

Druid是阿里巴巴开发的一个数据库连接池。是目前最好的数据库连接池。
 导入druid的jar包
 在beans.xml配置文件中配置,核心类DruidDataSource,要配置init-method和destroy-method。

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/916300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存