首页 > 编程语言 > 详细

java 注解补全 maven待补全

时间:2021-02-24 23:28:25      阅读:39      评论:0      收藏:0      [点我收藏+]

今日内容

注解
常见的内置注解
    ? @Override      重写
    @Deprecated      过时
    @SuppressWarning      抑制警告
自定义注解
    ? 使用关键字@interface表示注解  定义注解接口  在class位置写为@interface
    ? 注解中含有抽象方法--->属性(属性的定义格式:修饰符 数据类型 属性名称();)
    如果在定义属性时,给属性赋默认值,可以使用default关键字  格式为:属性名称()default 默认值
        属性,给注解提供更加详细的信息.
        注解就相当于接口,属性相当于方法
    注意事项
        ○ 修饰符只能是 public abstract 和接口的命名要求一样的 不写会默认添加
        ○ 数据类型可以有以下:
            § 基本类型
            § String
            § 枚举类型
            § 注解类型
            § Class字节码类型
            § 以上类型的一维数组类型
        ○ 属性名字为value,并且注解属性有且仅有一个属性时,在使用该注解时,可以省略value属性名
        如果注解当中有多个属性时,使用时需要显示的添加value属性名
使用注解(重点)
    在类,方法,成员变量,局部变量,方法参数上面添加注解  格式:@注解名称(属性名1=属性值1,属性名2=属性值2……)
        Override
@Target(ElementType.METHOD)
        @Retention(RetentionPolicy.SOURCE)
        public @interface Override {
        }
        
        @Documented
        @Retention(RetentionPolicy.RUNTIME)
        @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
        public @interface Deprecated {
        }
    元注解
    作用:用来负责注解其他注解的
        ○ 在java当中就定义了四个元注解meta-annotation类型,他们被用来提供其他注解annotation进行注解说明.
        ○ 这些类型和他们所支持的类都在java.lang.annotation
            § Documented
            § Inherited
            § Native
            § Repeatable
            § Retention
            § Target
            § @Target(重点)  强调注解修饰的范围,表示注解类型应该出现在什么位置.对哪一块的数据是有效的
            --->类,方法,成员变量,局部变量.属性,方法参数上使用
            注意:@Target(ElementType.ANNOTATION_TYPE)--->使用在注解上面
                □ FIELD:字段上可以使用
                □ METHOD:方法上可以使用
                □ PARAMETER:参数上可以使用
                □ TYPE:lei,接口,枚举,注解上可以使用
                □ CONSTRUCTOR:构造方法上可以使用
                □ LOCAL_VARIABLE:局部变量可以使用
                □ TYPE_PARAMETER:表示注解可以用于类型参数声明时(1.8引入的)
                □ TYPE_USE:类型使用说明(1.8引入的)
            § Retention(重点):代表注解的可见范围.表示需要在什么级别保存该注解信息.用于描述注解的生命周期
            借助于RetentionPolicy属性,总共有三个取值
                □ SOURCE:源码级别可见
                □ CLASS:在字节码文件级别可见,包括SOURCE
                □ RUNTIME:在整个运行阶段可见,包括SOURCE,CLASS,可以通过反射获取
                如果想要解析使用注解,那么需要把该注解的属性值设定为Runtime值.
                如:@Retention(RetentionPolicy.RUNTIME)
            § Documented:说明该注解将被包含在javadoc中,意思是生成帮助文档时对应位置上含有注解信息
            § Repeatable:元注解@Repeatable是JDK1.8新引入的,他表示在同一个位置重复相同的注解.在没有该注解前,
            一般是无法在同一个类型上使用相同的注解,他的使用需要借助容器来存储此注解
            ? Class<? extends Annotation>向上限定  只能传递Annotation以及它的子类
            ? Class<? super Annotation>向下限定  只能传递Annotation以及它的父类
            § Inherited:表明子类可以继承父类中的注解
            
        
maven
maven意思是内行,专家

maven是一个项目管理工具,它包含了一个项目对象模型(POM project Object Model),一组标准集合,一个项目生命周期(Project lifecycle)
一个依赖管理系统(Dependency Management System)和用来运行定义在生命周期阶段(phase)上的插件(plugins)目标(goal)的逻辑工具
实际中,maven就是用来管理项目中用到jar包




使用maven
    ? 下载安装
    ? 下载地址
    …
    ? 解压即安装,解压是解压到一个没有[中文][空格]的目录下
    ? 目录介绍
        ○ bin:执行脚本文件
        ○ boot:运行maven的类加载器
        ○ conf:配置文件 settings.xml是整个maven的核心配置文件
        ○ lib:运行maven所需的依赖jar包
    ? 配置环境变量
        ○ 需要电脑上安装jdk1.7以上的版本,需要配置JAVA_HOME环境变量
        ○ 配置MAVEN_HOME
            § 先配置MAVEN_HOME根目录:D:\java8\maven\apache-maven-3.6.3
            § 再配置path总路径:在path总路径的后面添加:%MAVEN_HOME%\bin
        ○ 验证maven环境变量配置成功
        mvn-version



maven仓库
maven仓库 存放项目中用到的所有jar包,仓库分为三种:本地仓库,远程仓库,中央仓库
    ? 本地仓库:一般在开发者自己的电脑上,有一个目录存放jar包资源
    ? 远程仓库(私服):有的公司会在公司内部打架一个属于公司内部的仓库
    ? 中央仓库:maven团队进行管理,维护着世界上所有用到的jar包,目前全球上大概有两亿多个.
    ? 访问仓库的顺序:本地仓库-->远程仓库-->中央仓库
配置本地仓库
    ? 找到conf下面的settings.xml文件,编辑该文件
    <!-- 配置本地仓库位置 -->
    <localRepository>D:/java8/maven/m2/repository</localRepository>
    
    ? 配置JDK1.8的版本,maven默认是jdk1.5
    <profile>    
         <id>jdk18</id>    
         <activation>    
             <activeByDefault>true</activeByDefault>    
             <jdk>1.8</jdk>    
        </activation>    
       <properties>    
            <maven.compiler.source>1.8</maven.compiler.source>    
           <maven.compiler.target>1.8</maven.compiler.target>    
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
        </properties>     
    </profile>
    
    ? 配置阿里镜像地址
    <mirror>  
      <id>alimaven</id>  
      <name>aliyun maven</name>  
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
      <mirrorOf>central</mirrorOf>          
    </mirror>
    

maven工程的目录结构
maven的目录结构具有一定的目录规范,使用maven工具来构建项目,必须遵从maven目录规范
    ? src/main/java:存放项目的java文件
    ? src/main/resources: 存放项目的资源文件 如:db.properties,后面用到框架Spring applicationContext.xml
                        如mybatis框架,SqlMapConfig.xml
    ? src/main/webapp:web工程的web资源
    ? src/main/webapp/WEB-INF:存放web.xml文件
    ? src/test/java:存放单元测试的.java文件,如JUnit测试类
    ? src/test/resources:存放测试用到的资源文件,如果没有会从main中查找
    ? target:项目的输出位置,编译之后生成.class文件,打成的jar包文件和war包文件
    ? pom: maven的核心配置文件
maven依赖管理
通过maven依赖管理对项目中的jar包统一管理,通过<dependencies>引入单个</dependencies>
    ? <dependencies>标签表示当前项目所有依赖的jar包,其内部是<dependencies>
    ? <dependency>标签表示具体的以来其内部有四个标签
    <groupId>表示组织名+项目名</groupId>
     <artifactId>表示模块或者项目名称</artifactId>
     <version>表示版本号</version>
     <packaging>表示依赖范围</packaging>
如:

<dependencies>
<dependency>
   <groupId>com.zhiyou100</groupId>
    <artifactId>maven01</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
<dependency>
</dependencies>
依赖范围    对于编译是否有效    对于测试是否有效    对于运行时是否有效    例子
complie    √    √    √    spring-core
test    ×    √    ×    JUnit
provided    √    √    ×    servlet-api
rentime    ×    √    √    JDBC驱动
system    √    √    ×    本地仓库
    complie  表示编译时依赖,是默认值,会在编译,测试,运行都可以依赖
    test  测试的时候依赖,编译和运行不依赖
    provided 指在编译和测试时依赖,运行时不依赖
    rentime 运行和测试时依赖,编译时不依赖
    system 依赖范围和provided范围一样

java 注解补全 maven待补全

原文:https://www.cnblogs.com/shangjinshuai/p/14443387.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!