下面是Java面试题冲刺第七天--Spring框架1的完整攻略:
一、Spring框架概述
1.1 什么是Spring框架
Spring是一个轻量级的开源Java框架,简化了企业级应用的开发。Spring框架的主要优点在于它对常见的企业应用开发任务(如访问数据库、事务管理、远程调用等)的针对性支持。
1.2 Spring框架的优势
- Spring框架降低了Java应用的复杂性,提高了应用的可维护性和可测试性。
- Spring框架解决了EJB的一些问题,如复杂性、低效性、短板等。
- Spring框架提供了很多好处,如容器管理、面向切面编程、数据访问的一致性等。
二、IOC和DI
2.1 IOC是什么
IOC(Inversion of Control)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。IOC容器就是负责管理对象的工厂。
2.2 DI是什么
DI(Dependency Injection)是IOC的一种实现方式,通过依赖注入的方式给对象的属性赋值。Spring框架中有三种方式可以实现DI,分别是构造函数注入、Setter方法注入和接口注入。
2.3 Spring的IOC容器
Spring的IOC容器是Spring中用于管理Bean的容器,Spring提供了两种类型的IOC容器:BeanFactory和ApplicationContext。
2.3.1 BeanFactory
BeanFactory是Spring的基础设施,面向Spring本身,可以加载Spring配置文件中定义的Bean,是Spring中最基本的IOC容器。
示例代码:
<bean id="user" class="com.example.User" >
<property name="name" value="张三" />
<property name="age" value="18" />
</bean>
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
User user = (User)factory.getBean("user");
2.3.2 ApplicationContext
ApplicationContext是BeanFactory的子接口,也是Spring应用中使用较多的一个IOC容器,除了可加载配置文件中定义的Bean外,还提供了其他额外的功能支持。
示例代码:
<bean id="user" class="com.example.User" >
<property name="name" value="张三" />
<property name="age" value="18" />
</bean>
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
User user = (User)context.getBean("user");
三、AOP
3.1 什么是AOP
AOP(Aspect Oriented Programming),即面向切面编程,是一种编程思想和方法。AOP是OOP的一种延续,是通过预编译方式和运行期间动态代理实现程序的功能统一维护的。
3.2 AOP的关键内容
AOP的核心内容是切面、连接点、切入点和通知。
- 切面:横切关注点被模块化的特殊对象,它类似于一个包装器。
- 连接点:在程序执行过程中能够应用切面的点。
- 切入点:在连接点上应用切面的集合。
- 通知(Advice):切面在连接点上执行的代码。
3.3 Spring AOP
Spring AOP是基于代理方式实现的AOP,解决了JDK动态代理只能基于接口进行代理的问题,可以对类进行代理。
<aop:config>
<aop:aspect id="logAspect" ref="logService">
<aop:pointcut id="myPointcut" expression="execution(* com.spring.service.*.*(..))" />
<aop:before method="before" pointcut-ref="myPointcut" />
<aop:after method="after" pointcut-ref="myPointcut" />
</aop:aspect>
</aop:config>
以上就是Java面试题冲刺第七天--Spring框架1的完整攻略,示例代码仅供参考。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java面试题冲刺第七天–Spring框架1 - Python技术站