2020java框架教程之spring的bean作用域
Scope作用域
单例 singleton:
在整个应用程序中,只创建bean的一个实例
原型 prototype:
每次注入或通过spring上下文获取的时候,都会创建一个新的bean实例
会话 session:
在web应用程序中,为每个会话创建一个bean实例
请求request:
在web应用程序中,为每个请求创建一个bean实例
单例和多例
2020javaweb框架教程:spring的set依赖注入
set方式注入
value表示值类型的注入,ref表示对象类型的注入
创建两个对象,Users和Car
public class Users { private int id; private String name; private double salary; private Car car; }
public class Car { private String name; private String color; }
配置文件:
(更多…)
2020javaweb框架教程:spring对象创建的方式
实例工厂方法
创建工厂类,写个方法返回类对象:
public class Factory { public Users createUsers2(){ System.out.println("实例工厂创建"); return new Users(); } }
2020javaweb框架教程:spring对象创建的细节
单例和多例
1.默认情况下bean是单例的,scope=”singleton’;
2.多例配置:scope=”prototype”;
3.scope=”request”;
4.scope=”session”;
<!-- singleton是单例 获取的对象都是同一个地址 --> <bean name="users2" class="entity.Users" scope="singleton"></bean> <!-- prototype 是 多例 每次构建对象都 new一个新的地址 --> <bean name="users2" class="entity.Users" scope="prototype"></bean>
2020javaweb框架教程之spring入门
1.什么是spring
spring是一个框架,核心思想IOC、AOP。
简化企业开发,帮助分离对象之间的依赖关系。
IOC:Inversion Of Control 控制反转
DI:dependency Injection 依赖注入
AOP:Aspect Oriented Programming 面向切面编程
2.spring能解决的问题
解耦应用程序,简化开发流程。
AOP支持,声明式事务,集成junit4,方便集成各种开源的优秀框架。
降低JavaEE API的使用难度
3.spring的组成
2020javaweb框架教程之spring的Bean细节
1.Bean创建原理
反射:加载类对象,默认调用无参构造,创建对象。
<bean class="bean.Users" id="users" />
public void classpaths(){//反射 Class<?> u=null; try { u = Class.forName("bean.Users"); Constructor<?> constructor = u.getConstructor(); Users o = (Users) constructor.newInstance(); System.out.println(o); } catch (Exception e) { e.printStackTrace(); } }
2.Bean创建模式
2020javaweb框架教程之spring的IOC与DI以及注入
IOC
Inverse Of Controll:控制反转
反转了依赖关系的满⾜⽅式,由之前的⾃⼰创建依赖对象,变为由⼯⼚推送。(变主动为被动,即反转)。
解决了具有依赖关系的组件之间的强耦合,使得项⽬形态更加稳健
DI
Dependency Injection :依赖注⼊
全新的依赖满⾜⽅式,体现在编码中就是全新的赋值⽅式 ==> 在⼯⼚中为属性推送值
如: <property name=”userDAO” ref=”userDAO”></property>
IOC与DI
在spring中关于IOC和DI的描述是这样的: IOC(DI) ,即,是⼀码事
IOC 是思想 :指导我们在满⾜依赖时,应该有反转的设计。
DI 是⼿段 :实际操作时,就是在⼀次次的 注⼊
(更多…)