首页 > 其他分享 >Spring

Spring

时间:2023-07-16 23:44:17浏览次数:53  
标签:增强 jdbc 对象 Spring Value dataSource 通知

1.注解

  @Value 使用在字段或方法上,用于注入普通数据  一般用于注入配置信息

  @Autowired 使用在字段或方法上,用于根据类型注入引用数据

  @Qualifier 使用在字段或方法上,结合 @Autowired,根据名称注入

  @Resource 使用在字段或方法上,根据类型或名称进行注入

2.spring的其他不常用注解

@Primary 被该注解标注的bean加载的优先级更高
@Profile 进行环境切换使用
两种指定激活环境的方式:
虚拟机参数位置加载:-Dspring.profiles.active=test
使用代码的方式设置环境变量:System.setProperty("spring.profiles.active", "test")
/**
 * SpringConfig
 *
 * @author 马春粮
 * @date 2023-07-15 23:43:45
 */
@Configuration  // 标注当前类是一个配置文件类 并且该类是一个bean
@ComponentScan("com.itheima")
@PropertySource("classpath:jdbc.properties")
@Import(OtherBean.class)
@MapperScan("com.itheima.mapper")
public class SpringConfig {
    
    @Bean
    public DataSource dataSource(
            @Value("${jdbc.driver}") String driver,
            @Value("${jdbc.url}") String url,
            @Value("${jdbc.username}") String username,
            @Value("${jdbc.password}") String password
    ) {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }

    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource);
        return sqlSessionFactoryBean;
    }
    
}

3.AOP  aop思想实现方案

  动态代理技术,在运行期间,对目标对象的方法进行增强,代理对象同名方法内可以执行原有逻辑的同时嵌入执行其他增强逻辑或其他对象方法

  AOP 相关概念

    目标对象 target 被增强方法所在的对象

    代理对象 Proxy 对目标增强后的对象,客户端实际调用的对象

    连接点 Joinpoint 目标对象中可以被增强的方法

    切入点 Pointcut 目标对象中实际被增强的方法

    通知\增强 Advice 增强部分的代码逻辑

    切面 Aspect 增强和切入点的组合

    织入 Weaving 将通知和切入点组合动态组合过程

  五种通知类型:before 前置通知、after-returning 后置通知、around 环绕通知、after-throwing 异常抛出通知、after 最终通知,(在环绕通知中会传入切点参数)

before

标签:增强,jdbc,对象,Spring,Value,dataSource,通知
From: https://www.cnblogs.com/record-100/p/17558876.html

相关文章

  • springboot中静态资源的访问相关知识
    一、基本介绍:(一)、只要静态资源放在类路径下(什么是类路径:在resources文件下)默认是这几个目录文件:/static、/public、/resources、/META-INF/resources等目录下的文件直接能够被访问(二)、常见的静态资源:Js、css、图片(jbg、png、svg、gif、bmp)、字体文件(fonts)等(三)、访问方式:......
  • springboot或spring中使用编程式事务和声明式事务
    转载:https://developer.aliyun.com/article/789471https://www.bilibili.com/video/BV1q14y1m7B6/?spm_id_from=333.788.recommend_more_video.1&vd_source=46d50b5d646b50dcb2a208d3946b1598事务失效场景......
  • 超详细整合SSM框架--(Spring + Spring MVC + MyBatis)
    超详细整合SSM框架--(Spring+SpringMVC+MyBatis)阅读该文章之前首先要清楚Spring框架,SpringMVC框架,Mybatis框架。SSM框架,是Spring+SpringMVC+MyBatis的缩写,这个是继SSH之后,目前比较主流的JavaEE企业级框架,适用于搭建各种大型的企业级应用系统。SpringMVC框架:MVC简......
  • redis spring boot 集群 配置
    RedisSpringBoot集群配置1.概述在使用SpringBoot开发应用程序时,我们可能会遇到需要使用Redis集群来存储和缓存数据的情况。Redis是一个高性能的键值存储数据库,而SpringBoot提供了与Redis集群进行集成的便捷方式。本文将介绍在SpringBoot应用程序中配置Redis集群的步骤,包......
  • spring boot 接口多线程
    SpringBoot接口多线程在单线程的环境中,当接口请求过多时,容易造成阻塞和性能问题。为了提高系统的响应速度和吞吐量,我们可以使用多线程来处理接口请求。本文将介绍如何在SpringBoot中使用多线程处理接口请求,并给出相应的代码示例。什么是多线程多线程是指在一个进程中同时执行......
  • spring boot timerask
    SpringBootTimerTask什么是TimerTask?TimerTask是Java中的一个类,它允许我们在预定的时间点执行指定的任务。TimerTask是一个抽象类,我们需要继承它并实现run()方法来定义要执行的任务。SpringBoot中的TimerTask在SpringBoot应用程序中也可以使用TimerTask来执行定时任务。Spr......
  • spring boot sentinel设置限流规则
    SpringBootSentinel设置限流规则引言在高并发的系统中,为了保证系统的稳定性和可靠性,我们常常需要对系统的接口进行限流操作。限流是一种流量控制的手段,通过控制接口的访问频率或者并发数,保护系统不被过多的请求压垮。在SpringBoot中,我们可以使用Sentinel来进行接口的限流。S......
  • spring boot jar启动黑框就闪退
    如何解决“SpringBootJar启动黑框就闪退”问题简介在开发和部署SpringBoot应用程序时,有时候我们可能会遇到一个问题,即通过运行jar文件启动应用程序时,黑框闪现而无法正常启动。这个问题往往是由于缺少正确的启动命令所致。在本文中,我将向你介绍解决这个问题的步骤和相应的代码......
  • spring boot flowable 参数配置 重试参数配置
    SpringBootFlowable参数配置及重试参数配置概述在使用SpringBootFlowable框架开发工作流应用时,我们可能会遇到需要进行参数配置和重试参数配置的情况。本文将为刚入行的开发者介绍如何实现SpringBootFlowable参数配置及重试参数配置,并提供详细的步骤和代码示例。参数配置......
  • spring boot csv
    SpringBootCSV在现代的应用程序中,处理CSV(逗号分隔值)文件是一种常见的任务。CSV是一种以文本形式存储数据的文件格式,它使用逗号来分隔不同的值。在本文中,我们将介绍如何使用SpringBoot来处理CSV文件。什么是SpringBoot?SpringBoot是一个用于创建基于Spring框架的独立、可运行......