啥是那个spring----spring框架介绍(一)

1.谈谈你对Spring的理解

概念

Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。Spring也是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。

特点:

① Spring实现了工厂模式的工厂类(在这里有必要解释清楚什么是工厂模式),这个类名为BeanFactory(实际上是一个接口),Spring相当于一个大的工厂类,在其配置文件中通过元素配置用于创建实例对象的类名和实例对象的属性。

② Spring提供了对IOC良好支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好地实现模块之间的解耦。Ioc又称为依赖注入DI。

③ Spring提供了对AOP技术的良好封装, AOP称为面向切面编程,就是系统中有很多各不相干的类的方法,在这些众多方法中要加入某种系统功能的代码,例如,加入日志,加入权限判断,加入异常处理,这种应用称为AOP。

2.谈谈你理解的spring的工作流程?

①创建配置文件applicationContext.xml
②编写配置文件(加入一些对象的配置信息)
Spring内部采用工厂模式,配合xml解析+反射技术,可以根据用户的配置,生成相应的对象
③ 工厂提供一个getBean方法,从工厂中获取对象
④操作对象的方法,属性

3.谈谈你对spring IOC和DI的理解,他们有什么区别?

IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是创建UserService对象控制权被反转到了Spring框架

DI:Dependency Injection 依赖注入,在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件
在这里插入图片描述
面试题: IoC 和 DI的区别?

IoC 控制反转,指将对象的创建权,反转到Spring容器 , DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入

4. 说说spring对象创建的三种方式。

1)通过构造方法创建
需要在类中提供有参构造方法,在xml中设置调用哪个构造方法创建对象
如果设定的条件匹配多个构造方法执行最后的构造方法,在constructor-org标签中进行赋值,index:参数索引;name:参数名;type:参数类型

2)通过实例工厂创建
需要先创建工厂,才能生产对象,在xml配置文件中配置对象bean,需用factory-bean属性指向工厂bean,factory-method指向工厂方法

3)通过静态工厂创建
不需要创建工厂,编写一个静态工厂,方法需要用static修饰,在配置对象bean时用class属性指向静态工厂类,factory-method指向工厂的静态方法

5.不使用注解的情况下,如果给对象注入值的话,你知道的有几种方式?常用的是哪些?

set注值(重点) 2.构造器注值 3.P名称空间注值 4.Spel注值 5.注入java复杂类型6.注入对象类型(重点)aa

我常用的是set注值和对象类型注值。
Set 我们通过配置文件给对象(User)赋值,就相当于我们使用对象里边属性的set方法给对象设置值。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对象类型注值 使用ref表示注入一个已经存在的对象(默认还是调用set方法注入)

6.Spring有注解方式和xml配置两种,两者有什么区别?你常用spring注解有哪些?

我在公司主要使用的是注解开发,能够提高开发效率,在配置文件中把相关的注解扫描配置好,我们只要在自己写的类或者代码上边添加对应的注解就把事情解决了。

注解开发
1)创建对象
导入jar包(IOC基本)spring-aop-4.2.4.jar
导入约束context
开启注解扫描
在要创建的对象上使用注解
@Component @Repository @Service @Controller
如果要产生对象是多例**@Scope(value=”prototype”)**
如果要产生单例,默认为单例@Scope(value=”singleton”)
2)注入对象
在service有dao的属性
在dao的属性上加注解
@Autowired 按类型注入
@Reosource(name=””) 按bean的id注入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值