SSM常用注解总结及部分整合方法

本文详细介绍了SSM框架(Spring、Mybatis、SpringMVC)中常用的注解,包括Mybatis的@Mapper和@MapperScan,Spring的@Service、@Repository、@Controller、@RequestMapping等,以及SpringMVC的字段校验、异常处理和拦截器。还探讨了Spring Boot的自动配置和AOP核心概念。
摘要由CSDN通过智能技术生成

mybatis

@Mapper注解:
作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类
添加位置:接口类上面

@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加

@Results(id=“XX”,value={
@Result(column" “, property=” ")
})
@Results对应着XML中的ResultMap,同时可以为其指定一个id,其它地方可以使用这个id来引用它,
–> @ResultMap(“XX”)
使用@ResultMap来引用一个已经存在的ResultMap,这个ResultMap可以是在Java中使用@Results注解定义的,也可以是在XML中使用resultMap标签定义的。

mybatis-plus

官方注解说明:https://baomidou.com/pages/223848/#tablename

spring

名称 @Autowired
类型 Bean注入注解
位置 类定义中
作用 自动导入对象到类中,被注入进的类同样要被 Spring 容器管理

@Service
public class UserService {
   
  ...
}
@RestController
@RequestMapping("/users")
public class UserController {
   
   @Autowired
   private UserService userService;
   ......
}

名称 @Component/@Controller/@Service/@Repository
类型 类注解
位置 类定义上方
作用 设置该类为spring管理的bean
属性 value(默认):定义bean的id
名称 @Configuration
类型 类注解
位置 类定义上方
作用 设置该类为spring配置类
属性 value(默认):定义bean的id
名称 @ComponentScan
类型 类注解
位置 类定义上方
作用 设置spring配置类扫描路径,用于加载使用注解格式定义的bean
属性 value(默认):扫描路径,此路径可以逐层向下扫描
名称 @Scope
类型 类注解
位置 类定义上方
作用 设置该类创建对象的作用范围
可用于设置创建出的bean是否为单例对象
属性 value(默认):定义bean作用范围,
默认值singleton(单例),可选值prototype(非单例)
  • singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。
  • prototype : 每次请求都会创建一个新的 bean 实例。
  • request : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP request 内有效。
  • session : 每一个 HTTP Session 会产生一个新的 bean,该 bean 仅在当前 HTTP session 内有效。
名称 @PostConstruct/@PreDestory
类型 方法注解
位置 方法上
作用 设置该方法为初始化/销毁方法
属性
名称 @Autowired
类型 属性注解 或 方法注解(了解) 或 方法形参注解(了解)
位置 属性定义上方 或 标准set方法上方 或 类set方法上方 或 方法形参前面
作用 为引用类型属性设置值
属性 required:true/false,定义该属性是否允许为null
名称 @Qualifier
类型 属性注解 或 方法注解(了解)
位置 属性定义上方 或 标准set方法上方 或 类set方法上方
作用 为引用类型属性指定注入的beanId
属性 value(默认):设置注入的beanId ,必须和@Autowired一起使用
名称 @Value
类型 属性注解 或 方法注解(了解)
位置 属性定义上方 或 标准set方法上方 或 类set方法上方
作用 为 基本数据类型 或 字符串类型 属性设置值
属性 value(默认):要注入的属性值

使用 @Value("${property}") 读取比较简单的配置信息:

@Value("${wuhan2020}")
String wuhan2020;
名称 @PropertySource (不常用)
类型 类注解
位置 类定义上方
作用 加载properties文件中的属性值
属性 value(默认):设置加载的properties文件对应的文件名或文件名组成的数组,可以把classpath:加上,代表从当前项目的根路径找文件
@Component
@PropertySource("classpath:website.properties")

class WebSite {
   
    @Value("${url}")
    private String url;

  省略getter/setter
  ......
}
名称 @Bean
类型 方法注解
位置 方法定义上方
作用 设置该方法的返回值作为spring管理的bean
属性 value(默认):定义bean的id
名称 @Import
类型 类注解
位置 类定义上方
作用 导入配置类
属性 value(默认):定义导入的配置类类名,
当配置类有多个时使用数组格式一次性导入多个配置类,@Import注解在配置类中只能写一次

第三方Bean

导入jar包(依赖)–>配置类添加@Bean+方法 -->IOC容器获取对象

@Configuration
public class SpringConfig {
   
	@Bean
    public DataSource dataSource(){
   
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
        ds.setUsername("root");
        ds.setPassword("root");
        return ds;
    }
}
public class App {
   
    public static void main(String[] args) {
   
        AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
        DataSource dataSource = ctx.getBean(DataSource.class);
    
    }
}

外部配置类

  1. @Configuration+@ComponentScan–>+@Configuration@Bean
    • 在Spring的配置类上添加包扫描
@Configuration
@ComponentScan("com.example.config")
public class SpringConfig {
   
	
}
  • 在JdbcConfig上添加配置注解

JdbcConfig类要放入到com.itheima.config包下,需要被Spring的配置类扫描到即可

@Configuration
public class JdbcConfig {
   
	@Bean
    public DataSource dataSource(){
   
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
        ds.setUsername("root");
        ds.setPassword("root");
        return ds;
    }
}
  1. @Bean -->@Configuration+@Import
    • 去除JdbcConfig类上的注解
public class JdbcConfig {
   
	@Bean
    public DataSource dataSource(){
   
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
        ds.setUsername
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱松子鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值