Spring
这是Spring 框架内容,我所了解到的spring都在这了,板砖进行时。前言
spring用了有两年多了,一直是重视业务逻辑怎么实现,使用的时候直接百度,逐渐发现百度了很多东西都一样,我也来创作属于自己的sring吧。可能你也会遇到很多雷同的地方,但我想要做的是在这么多雷同的地方中寻找属于自己的那一束光!
提示:以下是本篇文章正文内容,下面案例可供参考
一、Spring 是什么?
Spring是分层的JavaSE/EE应用full-stack轻量级开源框架;
spring是由工厂模式转而来的,传统模式下对象的创建依赖于实体类,业务层需要用到的时候由类直接创建,这就导致了如果这个类发改变,直接导致创建时无法生成新的对象。此时的优化模式是引入工厂类,由工厂直接管理创建,工厂类与该创建类属于紧耦合,在工厂类与资源之间加入配置文件,实现只需要修改配置文件来完成对资源的控制。 工厂模式+配置文件就直接产生了spring 的原型。spring将所有实体类对象存储到IOC容器中,实现即取即用。
二、IOC(控制反转)
什么是IoC
inversion of control ,spring反向控制应用程序的所属外部资源。spring控制的资源全部在spring容器中.
步骤
1.导入spring依赖 spring-context
2.创建需要导入的bean资源
3.配置资源 application.xml 在spring framework里面找
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
4.资源配置
<bean id ="实体类首字母小写" class="类路径"/>
5.资源的使用
ApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml");
Class cls = ctx.getBean("需要的使用bean的id");
IoC 基于xml格式的Bean配置
bean 标签
<bean id="a" name="b,c" class="d"></bean>
常见的报错信息
no bean named ''xxx" available -----bean没有定义直接使用
scop属性
<bean scope="singleton"></bean>
singleton:设定创建出的对象保存在spring容器中,是一个单例的对象
prototype:设定创建出的对象保存在spring容器中,是一个非单例的对象
request、session、application、 websocket :设定创建出的对象放置在web容器对应的位置