发表于: 2017-11-14 23:07:03
0 785
一.今日完成
整理代码,学习基础知识:
1.关于Spring加载classpath与classpath*
(1)classpath是指编译过后的的classes目录
对于maven的所有项目, 配置文件一般放在resources目录下, 当编译之后会自动复制到classes目录下
非maven的所有项目, 一般放在src目录下, 编译之后也会自动复制到classes目录下面.
所有的web-app项目, 例如web.xml, spring的配置文件等等,是放在webapp/WEB-INF下面的,
如果想要引用resources或者src目录下的配置文件, 就在在配置文件的路径前加上classpath:
如果不加的的话,那么都要把配置文件放在WEB-INF/目录下面, 但这样不能单独运行java类进行调试了,必须要启动整个webapp.
(2)classpath 和 classpath* 区别:
classpath:只会到classes路径中查找找文件
classpath* :不仅包含classes路径,还包括jar文件classes路径进行查找
classpath:与classpath*:的区别在于,前者只会从第一个classpath中加载,而后者会从所有的classpath中加载 如果要加载的资源,不在当前ClassLoader的路径里,那么用classpath:前缀是找不到的,这种情况下就需要使用classpath*:前缀.
另一种情况下,在多个classpath中存在同名资源,都需要加载,那么用classpath:只会加载第一个,这种情况下也需要用classpath*:前缀.
用classpath*:需要遍历所有的classpath,所以加载速度是很慢的,因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*
深入探讨两者实现机制参考:http://blog.csdn.net/zl3450341/article/details/9306983和http://jinnianshilongnian.iteye.com/blog/1416322
2.Java基本数据类型及其包装类
(1)Java基本数据类型分为两大类:boolean类型和数值类型。数值类型可分为整数类型和浮点类型,而其中字符类型可单独对待。所以Java只包含8种基本数据类型。
(2)Java为每一个基础数据类型都提供一个相应包装类的目的,将Java的所有东西都抽象成对象,可以更方便的控制和使用。
包装类主要作用是:i作为和基本数据类型对应的类类型存在,方便涉及到对象的操作;ii.包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
(3)包装器的共性
1)带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145)
2)带有字符串参数并创建包装类对象的构造函数.如new Integer(“-45.36”);
3)可生成对象基本值的typeValue方法,如obj.intValue();
int num=obj.intValue();
4)将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);
5)因为有装进Map的几率,所以java设计了包装类里的哈希值,生成哈稀表代码的hashCode方法,如obj.hasCode();
6)对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2);
7)生成字符串表示法的toString()方法,如obj.toString().
8)自动装包/拆包大大方便了基本类型数据和它们包装类地使用。
自动装包:基本类型自动转为包装类。例如(int >> Integer)
自动拆包:包装类自动转为基本类型。例如(Integer >> int)
使用装包后,我们就可以用集合去存放基本类型啦。比如:Integer先自动转换为int进行加法运算,然后int再次转换为Integer。
(4)自动类型转换-系统支持把某种基本类型的值直接赋给另一种基本类型的变量。
规则:如下图,从左到右自动转换。
强制类型转换-把表示范围大/高精度的类型转换为表示范围小/低精度的类型时,容器引起信息丢失。另:字符串不能直接转换为基本类型,但可通过基本类型对应的包装类实现转换成基本类型。
String a = "45";
int value=Integer.parseInt(a);
3.数据库操作是否应该返回值
如果需要知道增删改了多少条数据,这时候可以返回int,
如果只需要知道有没有执行成功,则返回boolean就可以,
当不要返回值时,直接执行,出错了catch到错误信息就行。
二.明日计划
任务8代码框架已经搭建起来,计划参考师兄日报,学习怎么使用Spring RMI把service部署到服务器端.
三.遇到问题
暂无.
四.收获
以上.
评论