初识spring----bean装配

zonti
提前了解:
JavaBeans:Java中一种特殊的类,特殊在:
1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
javaBean的任务就是: “Write once, run anywhere, reuse everywhere”,即“一次性编写,任何地方执行,任何地方重用”。
JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。
POJO(Plain Ordinary Java Object):即普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO。实际意义就是普通的JavaBeans(简单的实体类),特点就是支持业务逻辑的协助类。
POJO类的作用是方便程序员使用数据库中的数据表,对于程序员来说,可以很方便的将POJO类当作对象来进行使用,也可以方便的调用其get,set方法。但不允许有业务方法,也不能携带有connection之类的方法,即不包含业务逻辑或持久逻辑等。
简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean
控制反转IoC和依赖注入DI:
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制
DI—Dependency Injection,即“依赖注入”:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。

spring框架特点:

  • 基于POJO的轻量级和最小入侵性编程
  • 通过依赖注入和面向接口实现松耦合
  • 基于切面和惯例进行声明性编程
  • 基于切面和模板减少样板式代码
  • spring框架相比于其他框架学习成本更低

重点:bean装配

spring容器管理bean
  • 声明bean
  • 构造器注入依赖
  • setter方法注入依赖
  • 装配bean
  • 控制bean的创建和销毁
    由spring容器而非java程序来控制bean的生命周期,以及bean之间的关系
bean装配

装配方式:

  • 自动化装配
    优势:便利,自动化装配,隐式配置代码量少。
    限制:
    1.基本数据类型的值、字符串字面量、类字面量无法使用自动装配来注入。
    2.装配依赖中若是出现匹配到多个bean(出现歧义性),装配将会失败
    过程·: 组件扫描(spring发现特殊标注的bean)、自动装配(自动满足bean之间的依赖关系)
    @Component:表明这个类作为组件类,并告知Spring要为这个类创建bean。默认bean的id为第一个字母为小写类名,可以用value指定bean的id。
    @Configuration:代表这个类是配置类。
    @ComponentScan:启动组件扫描,默认会扫描所在包以及包下所有子包中带有@Component注解的类,并会在Spring容器中为其创建一个bean。可以用basePackages属性指定包。
    @RunWith(SpringJUnit4ClassRunner.class):以便在测试开始时,自动创建Spring应用上下文。
    @ContextConfiguration:告诉在哪加载配置。
    @Autowired:将一个类的依赖bean装配进来
  • 通过java代码装配
    创建配置类使用@Comfiguration注解
    在配置类中使用@bean注解,声明bean
    @ImportResourse:将指定的XML配置加载进来
    @Import:将指定的Java配置加载进来。
  • 通过XML文件装配

<bean>:将类装配为bean,也可以导入java配置。属性id是为bean指定id,class是导入的类。
<constructor-arg>:构造器中声明DI,属性value是注入值,ref是注入对象引用。
spring的c-命名空间:起着和相似的作用。
<property>:设置属性,name是方法中参数名字,ref是注入的对象。
Spring的p-命名空间:起着和相似的作用。
<import>:导入其他的XML配置。属性resource是导入XML配置的名称。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值