spring学习笔记20240411
Posted fhl12395
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring学习笔记20240411相关的知识,希望对你有一定的参考价值。
sping是什么?
为了解决传统的J2EE开发效率低,二创建的一个java开源框架,2003年兴起,由rod johson创建。spring作为开源的中间件,提供J2EE应用各层的解决方案,Sping贯穿表现层,业务层,持久层,而非专注某一层,spring是企业应用开发的一站式选择,spring不想取代已有框架,而是与他们无缝整合
spring是一个轻量级的控制反转(Ioc)和面向切面(AOP)的容器。
IOC ( inversion of control )反转控制,将我们自己创建的工作交给sping容器完成
DI(Dependency Injection)依赖注入:将值通过配置的方式为变量初始化。
注入方式:set方法注入,构造注入,属性注入
注入类型:值类型(8中基本数据类型),引用类型(string 自定义对象)
为什么使用Spring?
1、方便解耦,简化开发。通过ioc容器,可以将对象的依赖关系交给spring控制,避免硬编码导致的过度程序耦合,用户无需为了单实例模式类,属性文件解析等底层需求编写代码,专注上层应用
2、aop变更支持。方便进行面向切面的变成。
3、声明式事务的支持
4、方便程序的测试
5、方便继承各种优秀框架(struts,hibernate,mybatis,hessian,quartz),提供了优秀框架的直接支持
6、降低了java ee api的使用难度
applicationContext.xml
sping的作用
// 在之前的项目中 new对象是我们自己做的
例如:
User u=new User();
u.setU_id(2);
//ioc的反转:创建对象这份工作由我们自己执行,反转给spring帮我们执行
//ioc的控制:就是由spring帮我们负责创建销毁对象,掌控对象的生命周期等,我们需要使用对象的时候,和spring申请即可。
//ioc是一种编程思想,也是一种新的设计模式,他需要di的支持(依赖注入)
// spring是一个容器,可以帮我们管理对象
根据spring配置文件获取容器对象
ApplicationContext ac=new ClassPathXmlApplicationContext(“applicationContext”);
//User u=(User)ac.getBean(“user”);
//通过getBean获取配置好的user对象(程序员向spring容器要对象)
User u=ac.getBean(User.class);
xml配置和注解配置
<bean元素标签介绍>
name 是一个名字,我们可以根据这个名字来获取对象
name可以使用特殊字符
name 可以重复
我们在实际开发中不推荐把多个对象的名字设置成一样
id和name作用相同,不支持特殊字符,不支持重复
class 被管理对象的全包名,sping会通过报名来创建对象
<bean元素创建方式>空参构造,
public User()默认是空参的,如果没有空参构造方法,会报错
静态工厂,动态工厂(不常用)
根据spring配置文件构造容器对象
applicationContext配置的所有bean都会在容器创建的时候创建出来
如果bean较多,会产生内容过大的问题,在机器硬件性能较为落后的时候体现的比较明显
延迟加载(lazy init) true 就是创建容器的时候不加载bean,在获取的时候才创建(default true false)
Spring MVC学习笔记——AbstractController
以上是关于spring学习笔记20240411的主要内容,如果未能解决你的问题,请参考以下文章