Spring笔记()

张开发
2026/4/9 17:03:02 15 分钟阅读

分享文章

Spring笔记()
spring理念简化企业级开发就是个大杂烩Spring Maven项目导spring-web-mvc依赖可以导其他需要的依赖Spring优点开源免费的容器框架轻量级非入侵的框架引入不会改变代码的情况IOC,AOP支持事务对框架整合的支持IOCioc是一种设计思想之前是程序创建对象控制权在程序员手上使用了set方法后程序不在具有主动性二十变成了被动的接受对象这种思想从本质上解决了问题我们程序员不用再去管理对象的创建了。系统的耦合性大大降低可以更加专注在业务的实现上这是IOC的原型反转程序本身不创建对象变成被动的接收对象来自Spring依赖注入就是通过set方法注入的IOC是一种编程思想由主动的编程变成被动的接收通过newClassPahXmlApplicationContextok到了现在我们彻底不用再去程序中改动了要实现不同的操作只需要在xml配置文件中进行修改。IOC一句话就是对象由Spring创建管理装配IOC创建对象的方式1.默认用无参构造2.使用有参构造constructor-arg1.下标赋值2.类型3.参数名推荐IOC总结在配置文件加载的时候容器中管理的对象就已经初始化了并且是一个对象单例Spring配置别名bean name name也可以取别名import引入其他的Spring配置文件 applicationContext.xml依赖注入DI构造器注入set方法注入依赖注入set注入依赖bean创建依赖于容器注入bean对象中所有属性值由容器注入value(基本数据类型)ref引用数据类型MapListPropertis等类型在property中有对应标签拓展方式注入p命名空间可以直接 p:属性名 注入属性值c命名空间 c:构造器入参名通过构造器注入注意需要在配置文件导入约束bean的作用域bean scope:bean标签中scopesingleton:单例模式默认prototype:每次从容器get都是新对象其余的requestsessionapplicaiton在web开发中才用的到Bean的自动装配自动装配是Spring满足bean依赖的一种方式,Spring会在上下文中自动寻找并自动给bean装配属性在Spring中的三种装配方式1.在xml中显示配置2.在java中显示配置3.隐式的自动装配重要byname(根据bean的idid和属性的set方法的值一致)byType根据bean的class的类型注解实现自动装配Autowired等注解Autowired:配置文件需要加context头文件 和 context标签Autowired通过类型找 Qualifier通过namebean标签里的id找AutowiredQualifiervalue xxx 等于 ResourceResource:先找name找不到找类型Nullable:可为nullComponet Repository Service Controller四个注解都是自动装配bean分别用于pojodaoservicecontroller层使用时要在xml加配置和头文件使用java配置Spring类上加Configuration注解: 用AnnotationConfigApplicationContext来获取容器对象applicationContext类上加Configuration注解方法上加Bean类上还可以加Scope,ImportComponentScan等AOPSpringAOP的底层就是代理模式分为静态代理和动态代理你找房东租房子中介就是代理代理会进行一些其他附属操作比如看房子收中介费静态代理角色分析抽象角色时间租房一般使用接口或抽象类来解决代理角色中介中介替房东做了真实角色房东被代理了客户我我是访问代理角色的人代理模式的好处使真实角色的操作更加纯粹无需关注公共的业务公共业务交给代理角色实现了业务的分工公共业务发生变化时方便集中管理缺点一个真实角色就需要一个代理角色代码量大效率低动态代理动态代理的代理类是动态生成的分为基于接口的动态代理JDK动态代理基于类的动态代理cglibjava字节码实现javassist好处一个动态代理类可以代理多个类只要是实现了同一个接口需要了解两个类Proxy,InvocationHandlerProxy:获得动态代理类InvocationHandler:实现这个类 处理代理实例返回结果Spring动态代理方式1配置文件配置aop,实现接口比如MethodBeforeAdvice方式2自定义类实现aop主要是切面方式3注解实现AspectBefore,After,Around等等需要注入bean配置文件用标签开启自动代理支持Spring整合Mybatis整合后使用sqlSessionTemplate来执行两个核心对象sqlSessiongFactory,sqlSessionTemplateSpring中的事务管理声明式事务AOP编程式事务(在代码中进行管理)配置声明式事务1.标签配置开启声明式事务 datasourceTransactionManager2.tx:advice配置配置事务的传播特性propagationrequired(默认)Spring总结

更多文章