spring笔记1

Spring Framework 是一个功能强大且广泛使用的Java应用程序框架,提供了全面的基础设施支持,以简化企业级应用程序开发。它主要包括以下两大核心功能:

1. 依赖注入 (Dependency Injection)

  • Spring的核心是控制反转(IoC)容器,它通过依赖注入减少了代码的耦合度,使得组件更易于测试和维护。
核心概念
  1. Bean: Spring中的Bean是指由Spring IoC容器管理的对象。
  2. 容器: IoC容器负责管理Bean的创建、配置和生命周期。Spring提供了多种容器实现,最常用的是ApplicationContext
  3. 配置:
    • XML配置: 传统的配置方式,在XML文件中定义Bean。
    • 注解配置: 使用注解如@Component@Autowired等。
    • Java配置: 使用@Configuration@Bean注解在Java类中定义配置。
示例

XML配置示例

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
                           http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="myBean" class="com.example.MyBean">
        <property name="propertyName" value="propertyValue"/>
    </bean>

</beans>
//注解配置示例:


@Component
public class MyBean {
    @Autowired
    private Dependency dependency;
}

@Configuration
public class AppConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean();
    }
}

注解配置和xml配置二选一,后续会更建议使用注解配置。

2. 面向切面编程 (Aspect-Oriented Programming, AOP)

  • AOP允许你定义横切关注点(如事务管理、日志记录、权限验证等),并将它们与业务逻辑分离,从而提高代码的模块化程度。
核心概念
  1. Aspect: 切面,是横切关注点的模块化表示。
  2. Join Point: 连接点,是程序执行过程中能够插入切面的一个点,比如方法调用或异常抛出。
  3. Advice: 通知,是切面在特定的连接点所执行的操作。主要类型有前置通知、后置通知、环绕通知、异常通知等。
  4. Pointcut: 切点,定义了切面将要应用到哪些连接点上。
  5. Weaving: 织入,是将切面应用到目标对象从而创建代理对象的过程。
示例

注解配置示例:

@Aspect
@Component
public class LoggingAspect {

    @Before("execution(* com.example.service.*.*(..))")
    public void logBefore(JoinPoint joinPoint) {
        System.out.println("Logging before method: " + joinPoint.getSignature().getName());
    }

    @AfterReturning("execution(* com.example.service.*.*(..))")
    public void logAfterReturning(JoinPoint joinPoint) {
        System.out.println("Logging after method: " + joinPoint.getSignature().getName());
    }
}

配置类

@Configuration
@EnableAspectJAutoProxy
public class AppConfig {
    // Bean definitions
}

核心组件

  • Spring Core:核心容器,包括BeanFactory、ApplicationContext等。
  • Spring AOP:用于实现面向切面编程。
  • Spring ORM:集成了各种ORM框架,如Hibernate、JPA等。
  • Spring DAO:简化了数据库访问,避免了冗长的JDBC代码。
  • Spring Context:提供上下文信息,继承自Core和Beans模块。
  • Spring Web:为创建Web应用提供了基础支持。
  • Spring MVC:实现了Model-View-Controller设计模式,用于构建Web应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值