精华内容
下载资源
问答
  • Spring注解大全

    2021-03-17 17:44:33
    @Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则...

    @Controller

    @RestController

    @Service

    @Autowired

    @RequestMapping

    @RequestParam

    @ModelAttribute

    @Cacheable

    @CacheEvict

    @Resource

    @PostConstruct

    @PreDestroy

    @Repository

    @Component

    @Scope

    @Required

    @Qualifier

    @Controller

    标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.

    @RestController

    Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。

    @Service

    用于标注业务层组件,说白了就是加入你有一个用注解的方式把这个类注入到spring配置中

    @Autowired

    用来装配bean,都可以写在字段上,或者方法上。

    默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,例如:@Autowired(required=false)

    @RequestMapping

    类定义处: 提供初步的请求映射信息,相对于 WEB 应用的根目录。

    方法处: 提供进一步的细分映射信息,相对于类定义处的 URL。

    @RequestParam

    用于将请求参数区数据映射到功能处理方法的参数上

    例如

    99c9bb15b579

    image

    这个id就是要接收从接口传递过来的参数id的值的,如果接口传递过来的参数名和你接收的不一致,也可以如下

    其中course_id就是接口传递的参数,id就是映射course_id的参数名

    @ModelAttribute

    使用地方有三种:

    1、标记在方法上。

    标记在方法上,会在每一个@RequestMapping标注的方法前执行,如果有返回值,则自动将该返回值加入到ModelMap中。

    (1) 在有返回的方法上:

    当ModelAttribute设置了value,方法返回的值会以这个value为key,以参数接受到的值作为value,存入到Model中,如下面的方法执行之后,最终相当于 model.addAttribute("user_name", name);假如 @ModelAttribute没有自定义value,则相当于

    model.addAttribute("name", name);

    (2) 在没返回的方法上:

    需要手动model.add方法

    我们在当前类下建一个请求方法:

    在浏览器中输入访问地址并且加上参数:

    最终输出如下:

    2、标记在方法的参数上。

    标记在方法的参数上,会将客户端传递过来的参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用.我们在上面的类中加入一个方法如下

    在浏览器中输入访问地址并且加上参数:

    最终输出:

    从结果就能看出,用在方法参数中的@ModelAttribute注解,实际上是一种接受参数并且自动放入Model对象中,便于使用。

    @Cacheable

    用来标记缓存查询。可用用于方法或者类中,当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。

    参数列表

    99c9bb15b579

    image

    比如@Cacheable(value="UserCache") 标识的是当调用了标记了这个注解的方法时,逻辑默认加上从缓存中获取结果的逻辑,如果缓存中没有数据,则执行用户编写查询逻辑,查询成功之后,同时将结果放入缓存中。

    但凡说到缓存,都是key-value的形式的,因此key就是方法中的参数(id),value就是查询的结果,而命名空间UserCache是在spring*.xml中定义.

    99c9bb15b579

    image

    @CacheEvict

    用来标记要清空缓存的方法,当这个方法被调用后,即会清空缓存。@CacheEvict(value=”UserCache”)

    参数列表

    @Resource

    @Resource的作用相当于@Autowired

    只不过@Autowired按byType自动注入,

    而@Resource默认按 byName自动注入罢了。

    @Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。

    @Resource装配顺序:

    1、如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常

    2、如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常

    3、如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常

    4、如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

    @PostConstruct

    用来标记是在项目启动的时候执行这个方法。用来修饰一个非静态的void()方法

    也就是spring容器启动时就执行,多用于一些全局配置、数据字典之类的加载

    被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法执行执行之后执

    @PreDestroy

    被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前

    @Repository

    用于标注数据访问组件,即DAO组件

    @Component

    泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注

    @Scope

    用来配置 spring bean 的作用域,它标识 bean 的作用域。

    默认值是单例

    1、singleton:单例模式,全局有且仅有一个实例

    2、prototype:原型模式,每次获取Bean的时候会有一个新的实例

    3、request:request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效

    4、session:session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效

    5、global session:只在portal应用中有用,给每一个 global http session 新建一个Bean实例。

    @SessionAttributes

    默认情况下Spring MVC将模型中的数据存储到request域中。当一个请求结束后,数据就失效了。如果要跨页面使用。那么需要使用到session。而@SessionAttributes注解就可以使得模型中的数据存储一份到session域中

    参数:

    1、names:这是一个字符串数组。里面应写需要存储到session中数据的名称。

    2、types:根据指定参数的类型,将模型中对应类型的参数存储到session中

    3、value:和names是一样的。

    @Required

    适用于bean属性setter方法,并表示受影响的bean属性必须在XML配置文件在配置时进行填充。否则,容器会抛出一个BeanInitializationException异常。

    @Qualifier

    当你创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱。

    展开全文
  • 前言 在学习《Unity 3D 游戏开发》这本书的过程中碰到了一些术语,比如序列化、反序列化、反射等,这些基本都是常见的程序员行话,但是感觉自己对这些术语总是一知半解,为了让自己更清楚地知道这些术语,本文对其...

    前言

    在学习《Unity 3D 游戏开发》这本书的过程中碰到了一些术语,比如序列化、反序列化、反射等,这些基本都是常见的程序员行话,但是感觉自己对这些术语总是一知半解,为了让自己更清楚地知道这些术语,本文对其进行了整理,并且供大家学习交流。名词后面是出现在《Unity 3D 游戏开发》中的页数。

    术语

    序列化 P17

    与之成对的术语还有反序列化
    简单来说,序列化就是把对象的状态信息转换为可以存储或传输的形式的过程,而反序列化就是序列化的逆过程。
    注意是状态信息,所以不包含对象的方法。

    代码反射 P28

    协程 P82

    持续更新中…

    展开全文
  • 创建一个模型如下:package model;import ...public class ProvNode{@JsonProperty("machineId")private String nodeId;private String name;private String result;private Stri...

    创建一个模型如下:

    package model;

    import com.fasterxml.jackson.annotation.JsonProperty;

    public class ProvNode

    {

    @JsonProperty("machineId")

    private String nodeId;

    private String name;

    private String result;

    private String status;

    @JsonProperty("message")

    private String msg;

    @JsonProperty("privateIpAddress")

    private String privateIpAddr;

    @JsonProperty("publicIpAddress")

    private String publicIpAddr;

    @JsonProperty("launchtime")

    private Long launchTime;

    public String getNodeId()

    {

    return nodeId;

    }

    public void setNodeId(String nodeId)

    {

    this.nodeId = nodeId;

    }

    public String getName()

    {

    return name;

    }

    public void setName(String name)

    {

    this.name = name;

    }

    public String getResult()

    {

    return result;

    }

    public void setResult(String result)

    {

    this.result = result;

    }

    public String getStatus()

    {

    return status;

    }

    public void setStatus(String status)

    {

    this.status = status;

    }

    public String getMsg()

    {

    return msg;

    }

    public void setMsg(String msg)

    {

    this.msg = msg;

    }

    public String getPrivateIpAddr()

    {

    return privateIpAddr;

    }

    public void setPrivateIpAddr(String privateIpAddr)

    {

    this.privateIpAddr = privateIpAddr;

    }

    public String getPublicIpAddr()

    {

    return publicIpAddr;

    }

    public void setPublicIpAddr(String publicIpAddr)

    {

    this.publicIpAddr = publicIpAddr;

    }

    public Long getLaunchTime()

    {

    return launchTime;

    }

    public void setLaunchTime(Long launchTime)

    {

    this.launchTime = launchTime;

    }

    }

    创建一个Test类:

    import java.lang.reflect.Field;

    import com.fasterxml.jackson.annotation.JsonProperty;

    import com.ibm.spectrum.prov.model.ProvNode;

    public class Test

    {

    public static void main(String[] args)

    {

    for (Field field : ProvNode.class.getDeclaredFields())

    {

    JsonProperty annotation = field.getAnnotation(JsonProperty.class);

    if (null == annotation)

    {

    System.out.println(field.getName());

    continue;

    }

    System.out.println(annotation.value());

    }

    }

    }

    结果如下:

    machineId

    name

    result

    status

    message

    privateIpAddress

    publicIpAddress

    launchtime

    展开全文
  • 在eclipse/myeclipse中,当添加注释的作者选项时,@author 后边一般都会默认填充的你登录计算机的用户名。如何去修改呢:第一种方法:修改计算机登录的用户名(一般不实用)第二种方法:修改Preference其中 @author 的...

    在eclipse/myeclipse中,当添加注释的作者选项时,@author 后边一般都会默认填充的你登录计算机的用户名。

    如何去修改呢:

    第一种方法:修改计算机登录的用户名(一般不实用)

    第二种方法:修改Preference其中 @author 的属性,并写入你所要用的 ;步骤如下:

    通过菜单 Window->Preference 打开参数设置面板,然后选择:Java -> Code Style -> Code Templates ,在右侧选择Comments,将其中的Types项,然后选右边的"Edit",进入编辑模式,将 @author ${user} 中的${user}改成你自己的名字即可。(咸麻烦还有一种方式)

    第三种方法:修改ini配置文件。

    在eclipse/myeclipse的目录下找到eclipse.ini/myeclipse.ini文件,在-vmargs后边添加上启动参数:-Duser.name=你想要显示的名字。

    重启eclipse/myeclipse。

    本文转载出处:http://yangwei.514.blog.163.com/blog/static/4993131720114743824987/

    展开全文
  • IDEA中注解注释快捷键及模板

    千次阅读 2021-09-10 11:25:55
    文章目录单行注释多行注释文档注释(块注释)方法说明注解自动注释新建类作者时间等 单行注释 将光标放置于要注释所在行,使用 Ctrl + /, 添加行注释,再次使用,去掉行注释 若需要将多行进行单行注释,只需要选中要...
  • java注解之运行时修改字段的注解值操作,注解,字段,表头,属性,对象java注解之运行时修改字段的注解值操作易采站长站,站长之家为您整理了java注解之运行时修改字段的注解值操作的相关内容。今天遇到需求:导入Excel...
  • #re: xstream 解析xml 别名 注解 list集合 boolean 数组 converter Pom.xml设置回复更多评论2013-03-27 17:30 by hello_kittyCALCULATEcaihongcheng10truefalsefalsefalsefalsefalsefalsefalsefalsefalse一开始有一...
  • 将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题!MySql存储过程简单实例:/********************* 创建表 *****************************/delimiter //DROP TABLE if exists test //CREATE TABLE ...
  • 给编译器看的注释——「注解

    千次阅读 2021-06-15 00:37:58
    @Target 从名字中我们也可以看出这个注解是用来指定作用目标的,即标注你的注解到底是用来修饰方法还是修饰类的?当然,不仅仅可以修饰这两个,在源代码中用 java.lang.annotation.ElementType 的枚举常量表示,...
  • 设计思路:1、首先将字典表的数据以Map的形式进行初始化,key格式为type+"@"+code,value值为正常回显的值,如"ta_sex"+"@"+"1", "男"2、建立DictAcc注解,code代表是数据库字段还是需要回显的标识,type存储类型如ta...
  • Java注解

    2021-02-26 16:39:06
    Java注解注解概述3、注解3.1、注解,或者叫做注释类型,英文单词是:Annotation疑问:注解到底是干啥的?????????3.2、注解Annotation是一种引用数据类型。编译之后也是生成xxx.class文件。3.3、怎么自定义...
  • android 注解的使用

    2021-05-26 18:39:57
    前言对注解,一开始是在学习java的时候接触到的,就是在《Thinking in Java》里草草看过。后来开发android,自己接了项目时,把基础概况注解是Java SE5中的重要特性,也被称为元数据。为我们在代码中添加信息提供一...
  • java注解

    2021-02-27 16:31:23
    注解:元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:1.@Target,2.@Retention,3.@Documented,4.@Inherited...
  • 1.测试类参数public JsonResult test(@SocketParam("a") String a) {//自定义注解的参数和方法的参数名字相同JsonResult reSocket = new JsonResult<>();reSocket.setResult("dddd");reSocket.setStatus...
  • 标签:要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解:元注解的作用就是负责注解其他注解。Java5.0定义了4...
  • Java 注解

    千次阅读 2021-03-05 16:51:03
    什么是注解呢?还记得Class是什么吗?注解就是Class对象中的⼀⼩段信息/⽂本/标记,它可以携带参数,可以在运⾏时被阅读。这就是注解的全部了。怎么处理注解并不是注解要关注的信息,它只是这么一小段信息。可用如下...
  • Mysql 查看表注释或字段注释查看所有表的注释SELECTtable_name 表名,table_comment 表说明FROMinformation_schema. TABLESWHEREtable_schema = '数据库名'ORDER BYtable_name ;查询所有表及字段的注释SELECTa.table_...
  • 这篇文章开始讲解java中的注解,在平时的开发当中我相信你或多或少的接触过注解。比如你可能都见过@override,它代表的就是一个注解。但是,为了更加清晰的去介绍注解,我还是先给出一个例子,让你能够方便的理解。...
  • java自定义注释

    2021-02-13 00:09:24
    一、什么是注释说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。...使用时在@后面跟注释名字。二、J2SE5.0中预定义的注释在J2SE5.0的java....
  • java-注解

    2021-03-09 17:45:58
    注解:注解元素可用的类型如下所示:所有基本类型(int、float、boolean等)StringClassenumAnnotation以上类型的数组########################################注解都是 @ 符号开头的注解可以元数据这个词来描述,即...
  • 九、使用注解开发配置文件:xmlns:xsi=...
  • Java自定义注解

    2021-03-06 22:49:42
    1、注解 Annotation也称为元数据,和注释 comment 的区别:Annotation 可以提供编译期的一些操作,比如类型检查。Annotation 是Java 5 引入的新特性。Java 5 在 java.lang 中内置了三种标准注解。@Override:表示...
  • java注解简单使用

    2021-03-09 01:37:18
    java注解可以比喻成标签,可以贴在任何地方,也可以限制只能贴在固定地方,比如类上方、方法上方、属性[字段]上方等,然后通过反射,判断是否存在这个注解注解形式public @interfaceTest {}应用//类上@Testpublic ...
  • 本篇文章给大家带来的内容是关于Java注解的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。注解如同标签初学者可以这样理解注解:想像代码具有生命,注解就是对于代码中某些...
  • Java注解有哪些?

    2021-03-01 08:38:26
    基本语法注解是 Java 5 所引入的众多语言变化之一,是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用,包含...
  • 1. 我们先添加热键 在Live Templates中添加名字叫user的模板,里面建一个比如说叫xxx的子类,然后再下面的 Templates text 写入如下信息然后点击 Edit variables 编辑如下图内容就可以了然后点击Change (第一次好像...
  • Python类型注解

    2021-04-26 20:24:38
    参数的注解,可能没有定义 default,参数的缺省值,可能没有定义 empty,特殊的类,用来标记default属性或者注释annotation属性的空值 kind,实参如何绑定到形参,就是形参的类型 POSITIONAL_ONLY,值必须是位置参数...
  • 任何一门编程语言都有编程注释注释的作用可以调试,可以描述代码的作用等等,说说那么PHP三种注释的方式1, // 这是单行注释2,# 这也是单行注释3,/* */多行注释块/*这是多行注释块它横跨了多行*/PHP 代码中的...
  • Java 注解基础知识

    2021-03-15 20:24:50
    参考引用**概念及作用JDK注解注解自定义注解注解处理器Java 8 中注解新特性注解的优缺点及与XML的比较参考引用1. 概念及作用1.1 概念注解即元数据,就是源代码的元数据注解在代码中添加信息提供了一种形式化的方法,...
  • 要获取类,方法,构造函数或字段的所有注释,我们使用getAnnotations()方法。此方法返回一个数组Annotation在以下示例中,我们尝试从该sayHi()方法读取所有注释。首先,我们需要获取自身的方法对象。因为sayHi()方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 521,975
精华内容 208,790
关键字:

名字注解