Java 学习基础

一、注解 Annotation

1.@override : 准确覆写

2.@deprecated : 声明过期操作,实现方法的新旧更替。

3.@suppressWarnings : 压制警告

二、反射机制

1.“反”是指通过对象可以找到对象的出处(即是那个类的对象)

2.Class类对象实例化

java.lang.class 是一个类,这个类是反射操作的源头。即所有的反射都要从此类开始进行,这个类有三种实例化方式。

       Class<?> cls = date.getClass();      //调用Object类中的getclass方法

        Class<?> cls = Date.class();             //使用“类.class”取得   用于ssh框架

        //调用class类提供的一个方法

                  public static Class<?> forname(String className)

                   Class<?> cls = class.forName("java.util.Date"); //重要  // 此时可以不用import导入一个明确的类,二十用类名称字符串的形式描述。

3.反射实例化对象

   实例化对象方法:public T newInstance();

   例: Class<?> cls = Class.forName("cn.mldn.demo.book");  

          objecr obj = cls.newInstrance(); //相当于使用NEW调用无参构造实例化

4.使用反射调用构造

    调用构造方法

   例子:

Class<?> cls = Class.forName("cn.mldn.demo.book");  

Constructor con = cls.getConstructor(String.class,double.class) //调用制定参数的构造方法

 objecr obj = cls.newInstrance(); //相当于使用NEW调用无参构造实例化

5.调用普通方法 invoke 调用成员 * 

三、Spring

1、依赖注入指的就是利用配置文件的关系来决定类之间的引用关系以及数据的设置操作。

1.1 构造方法注入

·applicationContext.xml:

    |-   <bean id = "用于调用的id" class="类的位置" />

   |-  <bean id = "用于调用的id" class="类的位置" >

        <construction-arg   name = "paramDname" index="0" value="****"/>

      </bean>

· *.java

|- 在java文件中调用Spring实例化好的对象

ApplicationContext ctx = new classPathXmlApplicationContext("applicationContext.xml");

Dept vo = ctx.getBean("设置的id",Dept.class); //Dept 为 Dept.java

*********************************************************************************//

设置参数名称 : @ConstructionProperties(value = {XXX , XXX})

2、setter 注入

1、|-在java类中写上 getter setter 方法

|- applicationContext。xml

<bean id="" class = "" >

<property   name = "属性名" value = "属性值" />

<property name = "@@@" ref ="引用其他Bean对象"/> 

设置属性为空

<property   name = "属性名" value = "属性值" /> // 不设置对应的属性及为空

<property   name = "属性名" ><null/></bean>

</bean>

2、注入集合数据

|-  

<bean id="****" class = "****" >

<property   name = "属性名"  >

<list value-type="java.lang.String"> 

<value> shuju </value>

</list>   // 也可以写成arrery   List集合 = 数组   set集合没有重复数据

 

</property>

//map 集合的 注入 

<property   name = "属性名"  >

<map key-type = "" value-type="">

<enrty key="1"  value="值的数据">

</map>

</property>

//Property 类型数据植入

<property name = "msg">

   <props>

        <prop key="mldn">www.mldn.com</prop>

  </props>

</property>

</bean>

     

3、P命名空间

<bean id = "" class = ""   p:empName = "" >   //  z主要就是 P:属性

4、自动装配           

尽量指定bean

<bean   id = "@@@"  class="@@@" autuwire = "byType"> 

//根据类型自动装配所需要的bean对象并且自动引用

//autowire-candidate="false"  为自动推出自动匹配

</bean>

<bean id = "deptB" class="!!!!" primary="ture">

// 此配置为优先配置,当自动配置时,不会有冲突

</bean>

5、延迟加载

<bean id = "deptB" class="!!!!"  lasz-init = "ture">

 <property  name ="empno" value ="4545" / >

 <property  name ="empname" value ="joe" / >

</bean>

 

//  初始化于销毁

<bean id = "deptB" class="!!!!"  linit-method="java中的初始化方法" destroy-method ="java中的销毁方法">

5.Annotation配置注入关系

启用context的命名空间

在appcationContext.xml 中 用 <context:annotation - config/>  启用annotation

三个注解

1.@Componect: 定义组件,在DAO上使用

2.@service:定义组件,在Service中使用

3.@Repository:定义组件 ,在action中使用

4.@Resource:引用关系

6、Resourse资源的读取

在.java 文件中 读取

ResourceLoader loader  = new DefaultResourceLoader();

Resource   resource = loader.getResource("file:路径"); //读取文件

Resource   resource = loader.getResource("classpath:路径");//读取Classpath文件

Resource   resource = loader.getResource("http://:路径");// 读取网络文件

1.注入Resouce

即:在applicationContext文件中进行配置

<bean id="" class="">

 <property name = "resource" value="file:路径">  // value 的值同上 

</bean>

2.路径通配符(重点)

" ? " : 匹配任意一位字符

" *  " :匹配零个、一个或是多个任意字符

" ** " : 匹配任意的目录,可以是零个、一个或是多个。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值