注解/方法 | 注释 |
---|---|
@SpringBootApplication | 是一个组合注解,用于快捷配置启动类。由@ComponentScan 注解、@EnableAutoConfiguration 注解、@SpringBootConfiguration 注解、@Inherited 注解、@Documented 注解、@Retention() 注解、@Target() 注解组成 |
获取容器中aa的bean | |
matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) | @ConditionOnClass(“AA”)的条件方法。Conditional 是在spring4.0 增加的条件注解,当你注册bean时,可以对这个bean添加一定的自定义条件,当满足这个条件时,注册这个bean,否则不注册。conditionContext 上下文对象,获取属性值、获取类加载器、获取BeanFactory,annotatedTypeMetadata 元数据对象,获取注解属性。 |
@Configuration | 用@Configuration注释类表明其主要目的是作为bean定义的源 |
SpringIOC | 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需要交给Spring进行管理。 |
@Bean | @Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。 |
@ConditionOnClass(“AA”) | 判断AA是否存在,存在才会注入 |
@Target({ElementType.TYPE, ElementType.METHOD}) | @Target说明了Annotation所修饰的对象范围: Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。 作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方) 取值(ElementType)有:1.CONSTRUCTOR:用于描述构造器2.FIELD:用于描述域3.LOCAL_VARIABLE:用于描述局部变量4.METHOD:用于描述方法5.PACKAGE:用于描述包6.PARAMETER:用于描述参数7.TYPE:用于描述类、接口(包括注解类型) 或enum声明 |
@Retention(RetentionPolicy.RUNTIME) | 注解@Retention可以用来修饰注解,是注解的注解,称为元注解。Retention注解有一个属性value,是RetentionPolicy类型的,Enum RetentionPolicy是一个枚举类型,这个枚举决定了Retention注解应该如何去保持,也可理解为Rentention 搭配 RententionPolicy使用。RetentionPolicy有3个值:CLASS RUNTIME SOURCE按生命周期来划分可分为3类: 1、RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期;3、RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在; 这3个生命周期分别对应于:Java源文件(.java文件) —> .class文件 —> 内存中的字节码。那怎么来选择合适的注解生命周期呢?首先要明确生命周期长度 SOURCE < CLASS < RUNTIME ,所以前者能作用的地方后者一定也能作用。一般如果需要在运行时去动态获取注解信息,那只能用 RUNTIME 注解,比如@Deprecated使用RUNTIME注解 如果要在编译时进行一些预处理操作,比如生成一些辅助代码(如 ButterKnife),就用 CLASS注解;如果只是做一些检查性的操作,比如 @Override 和 @SuppressWarnings,使用SOURCE 注解。注解@Override用在方法上,当我们想重写一个方法时,在方法上加@Override,当我们方法的名字出错时,编译器就会报错注解@Deprecated,用来表示某个类或属性或方法已经过时,不想别人再用时,在属性和方法上用@Deprecated修饰注解@SuppressWarnings用来压制程序中出来的警告,比如在没有用泛型或是方法已经过时的时候 |
@Documented | @Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中,是一个标记注解,没有成员 |
@interface | @interface表示该类是一个注解类,相当于自己定义一个注解 |
String[] value() default{}; | 定义一个String[] 变量为value() 值为default{}(默认值为空) |
@Conditional(value = {ClassCondition.class}) | 使用自定义注解 |
getAnnotationAttributes(Name()) | 获取注解中的所有的属性值(.Name()获取全限定类名) |
跟据指定键获取值 | |
Class.forName(s); | 获取该对象的实体类名称 |
@ConditionalOnBean | 判断spring容器中有某个bean时初始化该Bean |
@ConditionalOnClass | 判断程序中有某个class字节码文件时初始化该Bean |
@ConditionalOnMissingBean | 判断spring容器中没有该Bean时会初始化该Bean |
@ConditionalOnMissingClass | 判断程序中没有某个class字节码文件时初始化该Bean |
@ConditionalOnProperty | 判断配置文件中是否有对应的属性和值才初始化该bean |
@ComponentScan(basePackages = {“com”}) | 指定扫描的包(无法获取该bean的实例原因是,启动类默认加载当前包以及子包下的类。而我们的User/UserConfig与启动类并不在同一个包下,因此我们可以通过@ComponentScan指定扫描的包。) |
@Import(UserConfig.class) | @Import注解,直接指定UserConfig.class字节码文件。 |
@ConfigurationProperties(prefix = “myredis”) | @ConfigurationProperties是springboot提供读取配置文件的一个注解。其对应的bean的后置处理器为ConfigurationPropertiesBindingPostProcessor |
@EnableConfigurationProperties | @EnableConfigurationProperties注解的作用是:使 @ConfigurationProperties 注解的类生效。 |
MyCommandLineRunner | CommandLineRunner是一个接口,预先数据的加载,我们需要时,只需实现该接口就行(初始化系统参数) |
Arrays.asList(a) | Arrays.asList的作用是将数组转化为list |
ApplicationRunner | ApplicationReadyEvent事件可以实现系统启动完后做一些系统初始化的操作(进行缓存预热) |
ApplicationArguments 中SourceArgs() | 获取命令行中所有参数 |
@component | @component (把普通pojo实例化到spring容器中,相当于配置文件中的 < bean id="" class=""/>) |
SpringApplicationRunListener | SpringApplicationRunListener 接口的作用主要就是在Spring Boot 启动初始化的过程中可以通过SpringApplicationRunListener接口回调来让用户在启动的各个流程中可以加入自己的逻辑。Spring Boot启动过程的关键事件(按照触发顺序)包括: 开始启动 Environment构建完成 ApplicationContext构建完成 ApplicationContext完成加载 ApplicationContext完成刷新并启动 启动完成 启动失败 |
ApplicationContextInitializer | ApplicationContextInitializer接口是在spring容器刷新之前执行的一个回调函数。 |
@Mapper | @Mapper注解的的作用 1:为了把mapper这个DAO交給Spring管理 2:为了不再写mapper映射文件 3:为了给mapper接口 自动根据一个添加@Mapper注解的接口生成一个实现类 |
@RestController | 将查询到的数据转换成json |
@PathVariable | @PathVariable是用来bai对指定请求的URL路径里du面的变量 eg: Java代码 @RequestMapping(value = “form/{id}/apply”, method = {RequestMethod.PUT, RequestMethod.POST}) {id}在这zhi个请求的URL里就是个变量,可以使用@PathVariable来获dao取 @PathVariable和@RequestParam的区别就在于:@RequestParam用来获得静态的URL请求入参 |
@EnableEurekaServer | 开启eureka注册中心服务 |
@EnableEurekaClient | 开启eureka客户端 |
@EnableCircuitBreaker | 开启熔断器的注解 |
@SpringCloudApplication | 注解@SpringCloudApplication包括:@SpringBootApplication、@EnableDiscoveryClient、@EnableCircuitBreaker,分别是SpringBoot注解、注册服务中心Eureka注解、断路器注解。 |
@HystrixCommand(fallbackMethod = “findByIdFallBack”) | 该方法调用服务失败时会调用findByIdFallBack方法 |
@FeignClient | Spring Cloud声明式调用Feign负载均衡FeignClient |
@EnableFeignClients | 开启Feign客户端功能 |
ClientGlobal.init() | fastDFS文件服务器的java客户端初始化方法ClientGlobal.init() |
ClassPathResource(path) | 加载资源文件 |
附件内容 | |
附件扩展名 | |
NameValuePair[1] | 附件备注([x]x为指定元素个数) |
TrackerClient | 创建跟踪服务器的客户端类 |
通过跟踪服务器的客户端获取服务器端 | |
StorageClient(); | 存储服务器客户端类(new StorageClient(跟踪服务器, 存储服务器);) |
storageClient.upload_file | 文件上传 |
getInetSocketAddress() | IP 套接字地址 (IP 地址+端口号) |
getAddress() | 封装计算机的 IP 地址,不包含端口号 |
getHostName() | 获取主机名 |
获取服务器端口号 | |
storageClient.download_file(group_name, remote_filename); | 文件下载,参数(组名,文件所在的磁盘目录) |
storageClient.delete_file(group_name, remote_filename); | 删除文件,参数(组名,文件所在的磁盘目录) |
FileInfo fileInfo = _file_info(group_name, remote_filename); | 获取文件信息,参数(组名,文件所在的磁盘目录) |
MultipartFile | MultipartFile实现文件上传 |
获取文件名 | |
根据文件名获取文件扩展名 | |
获取文件内容 | |
IOUtils.write(bytes,new FileOutputStream(“D:100.jpg”)) | write(指定数据,输出地址)方法可以把数据写入到输出流中 |
FileInfo | 文件信息类 |
文件上传的时间 | |
文件大小 | |
服务器地址 | |
StorageServer | 封装存储服务器信息 |
存储服务器所在的组的index索引 | |
服务器ip | |
服务器端口号port | |
idworker | 产生唯一的id(idworker工具类) |
JSON.parseObject(spec, Map.class) | json字符串转化为对象 |
entrySet() | 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。Map中采用Entry内部类来表示一个映射项,映射项包含Key和ValueMap.Entry里面包含getKey()和getValue()方法Set<Entry<T,V>> entrySet()该方法返回值就是这个map中各个键值对映射关系的集合。 |
@EnableCanalClient | 开启mysql数据监听 |
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) | 排除自动注入数据源的配置(取消数据库配置),一般使用在客户端(消费者)服务中 |
@CanalEventListener | 声明当前的类是canal的监听类 |
@InsertListenPoint | 监听新增操作 |
CanalEntry.EntryType entryType | 数据库操作事件 |
CanalEntry.RowData rowData | 行数据 |
获取数据库操作新增数据 | |
CanalEntry.Column | 操作的数据列名和列值 |
获取数据库操作更新前的数据 | |
获取数据库操作更新的数据 | |
获取数据库操作删除的数据 | |
@DeleteListenPoint | 监听删除操作 |
@UpdateListenPoint | 监听更新操作 |
stringRedisTemplate.boundValueOps() | 设置redis中的key键 |
@EnableElasticsearchRepositories(basePackages = {“com.changgou.search.dao”}) | 操作es数据库(启动类中扫描数据库) |
JSON.parseArray(text, SkuInfo.class); | 将json数据text转换成SkuInfo类型的List集合 |
JSON.parseObject | JSON.parseObject,是将Json字符串转化为相应的对象 |
ElasticsearchTemplate | ElasticsearchTemplate是Spring对ES的java api进行的封装,提供了大量的相关的类来完成各种各样的查询 |
NativeSearchQueryBuilder | NativeSearchQueryBuilder多条件查询方法 |
NativeSearchQueryBuilder.withQuery() | 添加检索条件 |
QueryBuilders.matchQuery(“name”, keywords) | 为所提供的字段名和文本创建一个类型为“布尔”的匹配查询。(字段名,条件) |
商品列表数据 | |
总条数 | |
总页数 | |
NativeSearchQueryBuilder.addAggregation | // 添加聚合条件(分组条件) |
terms指定字段的别名,field指定需要检索的字段 | |
获取聚合结果(获取分组结果) | |
根据字段名获取结果 | |
getBuckets() | 将结果转换成list集合 |
elasticsearchTemplate.queryForPage(nativeSearchQuery, SkuInfo.class) | 根据条件查询后分页(条件,类型) |
intValue(); | 将数据转换成int类型 |
NativeSearchQueryBuilder.build() | 将NativeSearchQueryBuilder类型数据转换成NativeSearchQuery类型数据 |
getKeyAsString() | 将数据转换成String类型 |
QueryBuilders.boolQuery() | 返回满足bool下所有query的结果(拼接查询条件) |
BoolQueryBuilder.must() | 添加检索条件 |
keySet() | 遍历所有的键 |
startsWith(“spec_”) | 判断是否以指定字段开头 |
QueryBuilders.rangeQuery(“price”).gte(prices[0]).lte(prices[1]) | 查询字段price中的数据,条件是:gte(值)(大于等于)lte(值)(小于等于) |
NativeSearchQueryBuilder .withSort() | 对结果进行排序 |
SortBuilders.fieldSort(sortField).order(SortOrder.ASC) | SortBuilders.fieldSort(需要排序的字段).order(排序规则) SortOrder.ASC升序,SortOrder.DESC)降序 |
withFilter(bool) | 根据条件bool进行过滤 |
Integer.valueOf(pageNum) | 将数据转成int类型 |
PageRequest.of(page, size); | 分页工具PageRequest.of(当前页码, 每页显示行数);封装分页条件 |
withPageable(pageable) | 对分页条件进行分页 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1电脑 |
手机 | $12 |
导管 | $1 |
本文发布于:2024-02-01 01:42:34,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170672295432942.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |