-
什么是spring ?
Spring 就是一个 分层的 全站式 的轻量级的 开源框架
2.9 spring核心 ?
控制反转(Ioc) 和面向切面(Aop) -
spring优点 ?
1解耦和简化开发
2对Aop编程的支持
3申明事务的支持
4方便了程序的测试
5方便集成各种优秀的框架
6降低了 JAVAEE api 的使用难度 -
spring体系结构 ?
-
核心容器 ?
beanFactory
applicationContext -
控制反转IoC ?
程序将 创建对象的权力交由Spting 来管理
以前是自己 new 对象现在交由Spring 来 new 对象 -
依赖注入DI ?
依赖:A类需要使用B类 可以成为 A类依赖B类
is a 自己是一个 继承
has a 自己有一个 依赖
DI:DI需要依赖iod的开放环境 Spring 在创建时 需要把创建对象所依赖的对象设置进来 -
spring的API中,生产bean的总接口是 ? 我们获取容器使用的接口是 ? 实现类是 ?(如何获取容器)
beanFactory applicationContext ClassPathXmlApplicationContext -
如何在项目中导入spring的约束 ? 如何向spring配置文件中导入命名空间的支持 ?
10.spring如何使用 ?(简单说明入门案例的步骤)
-
简单介绍装配Bean基于xml时 , bean的实例化有几种方式 ?
有三种
1 默认构造
2 静态工厂
先创建一个工厂类 工厂类里是静态方法 fun()
3 实例化工厂
创建一个工厂类 工厂类里写的是普通方法 fun1()
-
bean的种类有哪些 ?
普通bean : 一般 使用的bean 都是普通bean
工厂bean : 必须实现FactoryBeab 接口 是一个特殊的bean 可以生产另一个bean -
FactoryBean 和 BeanFactory 的区别是 ?
FactoryBean : 是一个特殊的bean 可以生产另一个bean
BeanFactory : 是bean工厂 可以生产任意bean -
bean标签中id属性和name属性的区别 ?
id :表示唯一 配置的值不能重复使用 在配置中不能使用特殊字符
name:配置的值可以重复使用 在配置中可以出现特殊字符 -
bean的作用域有哪些 ? 使用哪个属性配置 ?
singleton 容器中仅存在一个bean以单例存在
prototype 每次在容器中调用都会返回一个新的实例 以多例存在
request 每次http请求都是一个新的bean
session 同一个HttpSession共享一个bean 不同的session 使用不同的bean
globalsession 一般用于portlet应用环境
-
如何在bean中设置生命周期方法 ?
在user类里 有 fun 和 fun1 方法
-
依赖注入(基于xml)都有哪些种类 ?
基本注入
setter 方法
构造方法
p命名空间
SpringEl 表达式
复杂注入
Array 数组
map 集合
list 集合
properties 集合 -
如何使用setter方法注入 ?
<bean name="car" class="cn.bgs.pojo.Car"> <property name="name" value="大黄蜂"></property> <property name="color" value="黄色"></property> </bean>
-
如何使用构造方法注入 ?
-
如何使用p命名控制注入 ?
在开头设置一行 xmlns:p=http://www.springframework.org/schema/p
-
如何使用 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>
-
如何使用数组的注入 ?
先定义一个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>
-
如何使用list集合的注入 ?
123
456
789
-
如何使用map集合的注入 ?
<property=“map”>
-
如何使用properties集合的注入 ?
<property=“properties”>
马云
18
-
装配Bean可以使用哪些注解 ?
一般使用Component三层开发
@repository dao层
@service service层
@controller web层 -
依赖注入普通的值注入可以使用哪些注解 ?
@value -
依赖注入对象的注入可以使用哪些注解 ?
@Autowired @Resource(name="")根据name注入 -
改变bean的作用域使用的注解是 ?
@scope -
Spring 与 Junit4 整合测试时使用的注解是 ? 使用时格式是什么 ? (所传的参数)
@RunWith(SpringJunit4ClassRunner.Class)
@ContextConfiguration(“classparh:application.xml”) -
什么是AOP ?
面向切面编程 -
举例说明使用过的AOP事例 ?
-
AOP思想的核心是 ?
纵向重复横向抽取 把公共的部分抽取出来到适当的时机插入进去 -
AOP实现时使用的两种代理方式是 ?
动态代理 和 cglib 代理
动态代理
被代理的对象必须实现接口才能产生代理对象
cglib代理
可以对没有被final 修饰的任意类产生代理对象 代理的原理是对目标进行了继承 -
什么是目标对象 ?
含有切入点的类 -
什么是连接点 ?
目标对象的类中所有的方法 -
什么是切入点 ?
目标对象的类中想要被增强的方法
在xml中配置 -
切入点表达式使用的关键字是 ? 使用过程中的 * 代表什么意思 ?
execution 全部 -
什么是通知类 ?
被抽取的相同的代码组成一个类的 -
通知类别有哪些 ?
before
after
afterReturning
afterThrowing
around -
环绕通知中使用的参数是什么 ?
ProceedingJoinPoint -
使用哪个标签配置切面 ?
<aop:pointcut expression=“execution(public void cn.bgs.service.UserServiceImpl.add(*))” id=“pt2”/> -
什么叫做织入 ?
-
简单介绍如何使用注解完成切面编程 ?
-
如何在spring配置文件中读取properties配置文件 ?
<context:property-placeholder location=“classpath:db.properties”/> -
在spring配置文件中如何配置数据库连接池 ?
-
在spring配置文件中如何配置jdbcTemplate ?
-
使用jdbcTemplate对数据库做增删改操作时 , 使用哪个方法 ?
update -
使用jdbcTemplate对数据库做查询操作时 , 返回单个对象使用哪个方法 ?
queryForObject -
使用jdbcTemplate对数据库做查询操作时 , 查询全部使用哪个方法 ?
query