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);
}
}
外部配置类:
- @Configuration+@ComponentScan–>+@Configuration@Bean
@Configuration
@ComponentScan("com.example.config")
public class SpringConfig {
}
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;
}
}
- @Bean -->@Configuration+@Import
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