spring in action第一章小结1
1 spring基本理念是简化java开发。
使用以下4个策略简化java开发
1) 基于POJO的轻量级和最小侵入性编程
2)通过使用DI和AOP实现松耦合
3)基于切面和惯例进行声明式编程
4)通过切面和模板减少样板式代码
2 依赖注入:对象的依赖关系将由负责协调系统中各个对象的第三方组件在创建对象时设定。对象无需自行创建或管理他们的依赖关系---依赖关系将会被自动注入到需要他们的对象中。
3 装配:创建应用组件之间协作的行为称为装配。
4 面向切面编程被定义为促使应用程序分离关注点的一项技术。横切关注点总是跨越系统的多个组件。
主要作用是帮助对象解耦。
5 使用模板消除样板式代码。比如jJDBC/JMS/JNDI/REST都是使用模板代码的场景。
6 spring 容器,负责创建对象、装配他们,配置它们并管理他们的整个生命周期。
spring容器可以分为两种类型,bean工厂和ApplicationContext。一般更倾向使用ApplicationContext.
常见的有AnnotationConfigApplicationContext/AnnotationConfigWebApplicationContext/ClassPathXmlApplicationContext/FileSystemXmlApplicationContext/XmlWebApplicationContext
ClassPathXmlApplicationContext是在所有类路径下查找文件上下文。
7 bean对象的配置,三种方法。1)自动化装配 2)通过java代码装配bean 3)通过xml装配bean
7.1 自动化装配
@Component在一个类上面使用,在类上使用表明该类是一个组件类,不过组件扫描默认是不开启的。
可以使用如下技术进行开启扫描
@Configuration @ComponentScan public class PlayerConfig { }
@ComponentScan默认会扫描与配置类相同的包以及这个包下所有子包。
当然也可以在xml配置文件中使用<context:component-scan />元素开启扫描。
为组件扫描的bean命名。可以有两种方式
1)@Component("lonelyHeartsClub")
2)@Named("lonelyHeartsClub")
字符串相当于是xml配置文件中的id
一般使用第一种方式。
7.1.1 组件扫描(component scanning)
7.1.2 自动装配(autowiring)
自动装配就是让Spring自动满足bean依赖的一种方法,在满足依赖的过程中,会在spring应用上下文寻找匹配某个bean需求的其他bean。
关键词:@Autowired,@Inject。不过一般使用第一种方式。
说明:
1)如果没有发现需要的bean,spring会抛出异常。
如果觉得有用,想赞助一下请移步赞助页面:赞助一下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)