ssm模糊知识点整合

一、参数绑定常用注解

  1. @RequestParam:用于将请求参数绑定到你的方法参数上。

  2. @PathVariable:用于将路径变量绑定到你的方法参数上。

  3. @RequestBody:用于将请求主体绑定到你的方法参数上,通常用于绑定POST请求的JSON或XML数据。

  4. @RequestHeader:用于将请求头部信息绑定到你的方法参数上。

  5. @CookieValue:用于将Cookie值绑定到你的方法参数上。

主要的区别在于:

  • 绑定的位置不同:@RequestParam 是请求参数,@PathVariable 是路径变量,@RequestBody 是请求体

二、mybatis关联查询

1、resultType

作用:将查询结果按照SQL列名与实体类属性名一致性映射到实体类对象中。 场合:常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可 直接使用resultType将每一条记录映射到实体类中,在前端页面遍历list(list中是实体类)即可。

2、resultMap

使用association和collection完成一对一和一对多高级映射(对结果有特殊的映射要求)。

3、association

作用:将关联查询信息映射到一个实体类对象中。 场合:为了方便查询关联信息可以使用association将关联信息映射为当前对象的一个属性,比如:查询 订单以及关联用户信息。

4、collection

作用:将关联查询信息映射到一个list集合中。 场合:为了方便查询遍历关联信息可以使用collection将关联信息映射到list集合中,比如:查询用户权 限范围模块及模块下的菜单,可使用collection将模块映射到模块list中,将菜单列表映射到模块对象的 菜单list属性中,这样的作的目的也是方便对查询结果集进行遍历查询。如果使用resultType无法将查询 结果映射到list集合中。

5、resultMap的继承

resultMap标签可以通过extends属性来继承一个已有的或公共的resultMap,避免重复配置的出现,减 少配置量。

<!-- 父resultMap标签-->
<resultMap id="baseResultMap" type="com.gs.entity.Orders">
    <id column="id" property="id"/>
    <result column="order_number" property="orderNumber"/>
    <result column="total_price" property="totalPrice"/>
    <result column="status" property="status"/>
    <result column="user_id" property="userId"/>
</resultMap>
<!-- 继承父resultMap标签中的配置,避免重复配置 -->
<resultMap id="subResultMap" type="com.gs.entity.Orders" 
extends="baseResultMap">
    <association property="users" javaType="com.gs.entity.Users">
        <id column="id" property="id"/>
        <result column="username" property="username"/>
        <result column="password" property="password"/>
        <result column="realname" property="realname"/>
    </association>
</resultMap>

三、Bean对象生命周期(后续需详细补充)

  1. 实例化(Instantiation): Spring容器通过反射或者工厂方法创建Bean的实例。

  2. 属性赋值(Populate Properties): 为Bean的属性设置值和对其他Bean的引用。

  3. 初始化(Initialization): 如果Bean实现了BeanNameAware, BeanFactoryAware, ApplicationContextAware等接口,会调用对应的方法。然后,如果BeanPostProcessor被注册,相应的postProcessBeforeInitialization()方法会被调用。最后,如果Bean实现了InitializingBean接口,其afterPropertiesSet()方法会被调用;或者,如果Bean使用init-method属性声明了初始化方法,这个方法也会被调用。

  4. 使用(In use by application): Bean现在可以被应用程序使用了。

  5. 销毁(Destruction): 当容器关闭时,如果Bean实现了DisposableBean接口,其destroy()方法会被调用;或者,如果Bean使用destroy-method属性声明了销毁方法,这个方法也会被调用。

四、spring boot自动装配(后续需详细补充)


(一)、核心注解


1.  @SpringBootApplication :这是一个组合注解,包含了  @Configuration 、 @EnableAutoConfiguration  和  @ComponentScan 。其中  @EnableAutoConfiguration  是实现自动装配的关键注解。

springboot是一个脚手架工具,约定大于配置。我们只需要按照springboot的规范来开发,就能减少很多配置,当需要开发web项目的时候

@SpringBootApplication(有三个子注解,分比为1、2、3)
        1:@SpringBootConfiguration    (有一个子注解:Configuaration)
                1.1:@Configuaration    (有一个子注解:Component)
                        1.1.1:@Component (作用:就是启动类声明为bean)
        2:@EnableAutoConfiguration    (开启自动注入:有两个子注解)
                2.1:@AutoConfigurationPackage  (自动配置包:有一个子注解,import)
                        2.1.1:@Import({Registrar.class})      (没有子注解)
                2.2:@Import({AutoConfigurationImportSelector.class})    (没有子注解)
        3:@ComponentScan  (组件扫描:没有子注解,作用:包扫描项目包路径)
在这三个注解中,第一和第三都没有太大的意思,所以我们主要看第二个注解就好了。在第二个注解中使用了两个@import注解。就是这两个注解解释了自动装配的含义

(二)、自动配置类


Spring Boot 在启动时会扫描类路径下的  META-INF/spring.factories  文件,这个文件中定义了大量的自动配置类。自动配置类通常以  XXXAutoConfiguration  的形式命名。
例如,当引入了 Spring Boot Web 模块依赖时,会自动加载  SpringWebMvcAutoConfiguration  自动配置类,它会根据类路径下是否存在相关的类(如  DispatcherServlet )来决定是否进行 Web 相关的配置,如配置视图解析器、静态资源处理等。


三、条件装配


自动配置类通常使用  @Conditional  注解来进行条件装配。这些条件可以基于类路径上是否存在特定的类、系统属性是否满足特定条件等。
例如, @ConditionalOnClass  注解表示只有当类路径上存在特定的类时才会进行自动配置。


四、导入其他配置


自动配置类还可以通过  @Import  注解导入其他配置类或组件,进一步扩展自动装配的功能。
总之,Spring Boot 的自动装配原理是通过扫描特定的配置文件,加载自动配置类,并根据条件进行装配,从而实现了快速、便捷的开发体验,减少了大量的手动配置工作。

当涉及到SSM框架(Spring + Spring MVC + MyBatis)时,以下是一些常用的知识点: 1. Spring框架:IoC(控制反转)和AOP(面向切面编程)概念,以及Spring的核心模块和特性。 2. Spring MVC:控制器、视图解析器、处理器映射器等基本概念,以及如何处理HTTP请求和响应。 3. MyBatis:ORM(对象关系映射)框架,映射数据库表和Java对象之间的关系,以及如何执行SQL语句和进行事务管理。 4. 数据库操作:使用MyBatis进行数据库的增删改查操作,包括使用注解和XML配置两种方式。 5. 事务管理:使用Spring的声明式事务管理,配置事务的传播行为和隔离级别,确保数据的一致性和完整性。 6. 异常处理:处理业务逻辑中的异常,使用Spring的异常处理机制和全局异常处理器。 7. 日志管理:使用日志框架(如Log4j、Logback)记录系统运行过程中的日志信息。 8. 单元测试:使用JUnit等单元测试框架进行代码的单元测试,保证代码的质量和可靠性。 9. 配置文件:配置Spring和MyBatis的相关配置文件,包括数据源配置、Bean的定义和依赖注入等。 10. 整合其他技术:如整合Redis、RabbitMQ等第三方技术,实现缓存、消息队列等功能。 这些是SSM框架中的一些常用知识点,涵盖了Spring、Spring MVC和MyBatis的基本概念和使用方法。希望对您有所帮助!如有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值