初识Spring框架

1. Spring框架的历史由来

Spring框架最早由Rod Johnson在2002年提出,他在书《Expert One-on-One J2EE Design and Development》中详细描述了该框架的基本概念。Spring的出现是为了解决企业级应用开发中的复杂性,特别是当时Java EE(J2EE)应用程序开发中的大量样板代码和复杂的配置。通过引入控制反转(IoC)和面向切面编程(AOP),Spring框架简化了对象管理和业务逻辑分离,大大提升了开发效率和代码的可维护性。2004年,Spring 1.0正式发布,随后迅速成为Java开发领域的主流框架。

2.Spring框架的两大核心

1. Spring IOC

(1) IOC和依赖注入

控制反转(Inversion of Control, IoC)是Spring框架的核心理念之一。IoC的主要思想是将对象的创建和管理交给Spring容器,而不是在应用程序中手动创建和管理对象。依赖注入(Dependency Injection, DI)是实现IoC的一种方式,通过注入对象的依赖关系,Spring容器管理对象的生命周期和依赖关系,使代码更加模块化和易于测试。

(2) 使用Spring IOC 实现 JavaBean 注入

Spring IOC通过配置文件(如XML文件)或注解的方式实现JavaBean的注入。在XML配置文件中,可以通过<bean>标签定义Bean,并通过<property>标签注入依赖。例如:

<bean id="userDao" class="cn.ktjy.dao.impl.UserDaoImpl"></bean>
<bean id="userService" class="cn.ktjy.service.impl.UserServiceImpl">
    <property name="userDao" ref="userDao"></property>
</bean>

在注解方式中,可以使用@Component@Autowired等注解来定义和注入Bean。

@Component("userDao")
public class UserDaoImpl implements UserDao {

}
@Service("userService")
public class UserServiceImpl {
    @Autowired
    private UserDao userDao;
}

2. Spring AOP

(1) 什么是AOP

面向切面编程(Aspect-Oriented Programming, AOP)是Spring框架的另一核心理念。AOP通过将横切关注点(如日志记录、事务管理等)从业务逻辑中分离出来,实现了关注点分离(Separation of Concerns)。这不仅简化了业务逻辑代码,还提高了代码的可维护性和可重用性。

在Spring AOP中,可以通过配置文件或注解的方式定义切面和切点,并使用增强(Advice)来指定在方法执行的不同阶段(如前置、后置等)插入的逻辑。

<aop:config>
    <aop:pointcut id="pointcut" expression="execution(* cn.printer.Printer.print(..))"/>
    <aop:aspect ref="theLogger">
        <aop:before method="before" pointcut-ref="pointcut"/>
        <aop:after-returning method="afterReturning" pointcut-ref="pointcut" returning="result"/>
    </aop:aspect>
</aop:config>

Spring AOP将日志记录、性能监控等横切关注点从业务逻辑中分离出来,极大简化了代码结构,使代码更加清晰易懂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值