Spring:SE/EE开发的一站式框架。
一站式框架:有SE/EE开发的每一层解决方案。
WEB层 :SpringMVC;
Service层 :Spring的Bean管理,Spring声明式事务;
DAO层 :Spring的Jdbc模板,Spring的ORM模块;
1、IOC (控制反转):将对象的创建权反转给(交给)Spring
原理:工厂 + 反射 + 配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) applicationContext.getBean("user"); //得到User的实例对象
2、IOC和DI
DI:依赖注入,前提必须有IOC的环境,Spring管理这个类的时候将类的依赖的属性注入(设置)进来。
1 、BeanFactory :老版本的工厂类(调用getBean的时候,才会生成类的实例)
2、ApplicationContext :新版本的工厂类(加载配置文件的时候,就会将Spring管理的类都实例化)
2.1 ApplicationContext有两个实现类
ClassPathXmlApplicationContext :加载类路径下的配置文件
FileSystemXmlApplicationContext :加载文件系统下的配置文件
1、 Bean的相关的配置
<bean id= " " name=” ” class=”” scope=" " />
id : 使用了约束中的唯一约束。里面不能出现特殊字符的。
name : 没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。里面可以出现特殊字符。(一般只需要配置id)
2、 Bean的作用范围的配置(重点)
scope :Bean的作用范围
singleton :默认的,Spring会采用单例模式创建这个对象。
prototype :多例模式。(Struts2和Spring整合一定会用到)
request :应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中。
session :应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中。
globalsession :应用在web项目中,必须在porlet环境下使用。但是如果没有这种环境,相对于session。
1、构造方法的方式的属性注入
2、set方式的属性注入
3、P标签方式
写法:
普通属性 p:属性名=”值”
对象属性 p:属性名-ref=”值”
4、SpEL:Spring Expression Language,Spring的表达式语言。
语法:#{SpEL}
原文:https://www.cnblogs.com/dongtian-blogs/p/10597045.html