Spring的总结

  1. 什么是spring ?
    Spring 就是一个 分层的 全站式 的轻量级的 开源框架
    2.9 spring核心 ?
    控制反转(Ioc) 和面向切面(Aop)

  2. spring优点 ?
    1解耦和简化开发
    2对Aop编程的支持
    3申明事务的支持
    4方便了程序的测试
    5方便集成各种优秀的框架
    6降低了 JAVAEE api 的使用难度

  3. spring体系结构 ?

  4. 核心容器 ?
    beanFactory
    applicationContext

  5. 控制反转IoC ?
    程序将 创建对象的权力交由Spting 来管理
    以前是自己 new 对象现在交由Spring 来 new 对象

  6. 依赖注入DI ?
    依赖:A类需要使用B类 可以成为 A类依赖B类
    is a 自己是一个 继承
    has a 自己有一个 依赖
    DI:DI需要依赖iod的开放环境 Spring 在创建时 需要把创建对象所依赖的对象设置进来

  7. spring的API中,生产bean的总接口是 ? 我们获取容器使用的接口是 ? 实现类是 ?(如何获取容器)
    beanFactory applicationContext ClassPathXmlApplicationContext

  8. 如何在项目中导入spring的约束 ? 如何向spring配置文件中导入命名空间的支持 ?

10.spring如何使用 ?(简单说明入门案例的步骤)

  1. 简单介绍装配Bean基于xml时 , bean的实例化有几种方式 ?
    有三种
    1 默认构造

    2 静态工厂
    先创建一个工厂类 工厂类里是静态方法 fun()

    3 实例化工厂
    创建一个工厂类 工厂类里写的是普通方法 fun1()

  2. bean的种类有哪些 ?
    普通bean : 一般 使用的bean 都是普通bean
    工厂bean : 必须实现FactoryBeab 接口 是一个特殊的bean 可以生产另一个bean

  3. FactoryBean 和 BeanFactory 的区别是 ?
    FactoryBean : 是一个特殊的bean 可以生产另一个bean
    BeanFactory : 是bean工厂 可以生产任意bean

  4. bean标签中id属性和name属性的区别 ?
    id :表示唯一 配置的值不能重复使用 在配置中不能使用特殊字符
    name:配置的值可以重复使用 在配置中可以出现特殊字符

  5. bean的作用域有哪些 ? 使用哪个属性配置 ?
    singleton 容器中仅存在一个bean以单例存在
    prototype 每次在容器中调用都会返回一个新的实例 以多例存在
    request 每次http请求都是一个新的bean
    session 同一个HttpSession共享一个bean 不同的session 使用不同的bean
    globalsession 一般用于portlet应用环境

  6. 如何在bean中设置生命周期方法 ?
    在user类里 有 fun 和 fun1 方法

  7. 依赖注入(基于xml)都有哪些种类 ?
    基本注入
    setter 方法
    构造方法
    p命名空间
    SpringEl 表达式
    复杂注入
    Array 数组
    map 集合
    list 集合
    properties 集合

  8. 如何使用setter方法注入 ?





    <bean name="car" class="cn.bgs.pojo.Car">
    	<property name="name" value="大黄蜂"></property>
    	<property name="color" value="黄色"></property>
    </bean>
    
  9. 如何使用构造方法注入 ?



  10. 如何使用p命名控制注入 ?
    在开头设置一行 xmlns:p=http://www.springframework.org/schema/p

  11. 如何使用 SpEL 表达式注入 ?

    <bean name="user5" class="cn.bgs.pojo.User">
    	<property name="id" value="#{user.id}"></property>
    	<property name="name" value="#{user2.name}"></property>
    	<property name="age" value="#{user3.age}"></property>
    	
    	对象
    	<property name="car" ref="car"></property>
    </bean>
    
  12. 如何使用数组的注入 ?
    先定义一个demo 的类 类里写这些方法
    private Object[] obj;
    private List list;
    private Map map;
    private Properties prop;

    <bean name="demo" class="cn.bgs.pojo.demo">
    	<property name="obj">
    		<array>
    			<value>123</value>
    			<value>456</value>
    			<value>789</value>
    		</array>
    	</property>
    </bean>
    
  13. 如何使用list集合的注入 ?



    123
    456
    789


  14. 如何使用map集合的注入 ?

    <property=“map”>






  15. 如何使用properties集合的注入 ?

    <property=“properties”>

    马云
    18


  16. 装配Bean可以使用哪些注解 ?
    一般使用Component

    三层开发
    @repository dao层
    @service service层
    @controller web层

  17. 依赖注入普通的值注入可以使用哪些注解 ?
    @value

  18. 依赖注入对象的注入可以使用哪些注解 ?
    @Autowired @Resource(name="")根据name注入

  19. 改变bean的作用域使用的注解是 ?
    @scope

  20. Spring 与 Junit4 整合测试时使用的注解是 ? 使用时格式是什么 ? (所传的参数)
    @RunWith(SpringJunit4ClassRunner.Class)
    @ContextConfiguration(“classparh:application.xml”)

  21. 什么是AOP ?
    面向切面编程

  22. 举例说明使用过的AOP事例 ?

  23. AOP思想的核心是 ?
    纵向重复横向抽取 把公共的部分抽取出来到适当的时机插入进去

  24. AOP实现时使用的两种代理方式是 ?
    动态代理 和 cglib 代理
    动态代理
    被代理的对象必须实现接口才能产生代理对象
    cglib代理
    可以对没有被final 修饰的任意类产生代理对象 代理的原理是对目标进行了继承

  25. 什么是目标对象 ?
    含有切入点的类

  26. 什么是连接点 ?
    目标对象的类中所有的方法

  27. 什么是切入点 ?
    目标对象的类中想要被增强的方法
    在xml中配置

  28. 切入点表达式使用的关键字是 ? 使用过程中的 * 代表什么意思 ?
    execution 全部

  29. 什么是通知类 ?
    被抽取的相同的代码组成一个类的

  30. 通知类别有哪些 ?
    before
    after
    afterReturning
    afterThrowing
    around

  31. 环绕通知中使用的参数是什么 ?
    ProceedingJoinPoint

  32. 使用哪个标签配置切面 ?
    <aop:pointcut expression=“execution(public void cn.bgs.service.UserServiceImpl.add(*))” id=“pt2”/>

  33. 什么叫做织入 ?

  34. 简单介绍如何使用注解完成切面编程 ?

  35. 如何在spring配置文件中读取properties配置文件 ?
    <context:property-placeholder location=“classpath:db.properties”/>

  36. 在spring配置文件中如何配置数据库连接池 ?





  37. 在spring配置文件中如何配置jdbcTemplate ?



  38. 使用jdbcTemplate对数据库做增删改操作时 , 使用哪个方法 ?
    update

  39. 使用jdbcTemplate对数据库做查询操作时 , 返回单个对象使用哪个方法 ?
    queryForObject

  40. 使用jdbcTemplate对数据库做查询操作时 , 查询全部使用哪个方法 ?
    query

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Angzush

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值