- 博客(156)
- 收藏
- 关注
原创 第一章:SpringBoot基础入门之HelloWorld-基础入门
使用SpringBoot在页面中显示Hello,Spring Boot2 !
2022-11-11 15:41:11
260
原创 说说Spring常用的注解
1.@Component组件,没有明确的角色2.@Repository在数据访问层使用(dao层)3.@Service在业务逻辑层使用(service层)4.@Controller在控制层使用,控制器的声明。
2022-11-07 23:22:33
280
原创 谈谈对面向对象的理解
多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,也就是一个引用变量到底会指向哪一个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。private:同一个类中。
2022-11-07 20:24:30
191
原创 【mybatis系列】#{}和${}的区别
但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时, 可以自 动添加单引号。②${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;①${}的本质就是字符串拼接,#{}的本质就是占位符赋值。③使用#{}可以有效的防止SQL注入,提高系统安全性。
2022-11-07 00:24:36
163
原创 谈谈你对IOC的理解
IOC容器就像一个工厂一样,当我们需要创建对象的时候,只需要通过xml配置文件或者注解,把对象注册到组件中,而我们完全不用考虑对象是如何被创建出来的。在Spring中,控制反转指的是将对象的控制权转移给Spring框架进行管理,由Spring帮我们创建对象,管理对象之间的依赖关系。以前创建对象的主动权和时机都是由自己把控的,现在由IOC容器来做,在很大程度上简化了应用的开发。IOC就是控制反转,控制反转是一种设计思想,而不是一种具体的技术实现。控制反转,容器概念,依赖注入。
2022-11-07 00:16:51
158
原创 谈谈你对AOP的理解
AOP就是解决这些问题的,它通过一种横向抽取机制,将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,也就是切面,通过将横切逻辑代码与业务代码分离,在不改变原有的代码的基础上,将逻辑增强部分应用到原有业务中,从根本上解耦,避免大量的重复操作,降低了模块间的耦合度,提高了系统的可维护性。OOP思想是一种垂直纵向的继承体系,通过子类继承父类可以解决大部分的代码重复问题,但对于一些特殊问题,如在父类的所有方法的相同的位置进行一些日志控制,OOP就无法解决了。
2022-11-07 00:01:45
124
原创 spring是什么?
轻量级的开源J2EE框架。它是一个容器框架,用来装javabean(java对象),中间层框架,可以起一个连接作用,比如说Struts粘合在一起运用,可以让我们的企业开发更快,更简洁。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
2022-11-06 23:50:13
86
原创 说说Java中集合的体系
Map代表的是存储key-value对的集合,常用的实现类有:HashMap,LinkedHashMap,TreeMap,HashTable,Properties。常用的实现类有:HashSet,LinkedHashSet,TreeSet。Set代表了无序不可重复集合,只允许一个null,只能根据元素本身来访问。Collection有三个子接口:List,Set,Queue。常用的实现类有:ArrayList,LinkedList。List代表了有序可重复的集合,可以插入多个null。
2022-11-06 23:40:17
123
原创 5种常见异常
ArrayStoreException(数据存储异常,操作数组时类型不一致)还有IO操作的BufferOverflowException异常。IndexOutOfBoundsException(数组越界)ClassCastException(类转换异常)NullPointerException(空指针)
2022-11-06 22:08:06
329
原创 ArrayList和LinkedList的区别?
因为ArrayList维护的是一个数组,所以当容量到达阈值时就会进行扩容,然后会重新分配数据的位置,当数组扩容的时候速度也要比LinkedList慢。ArrayList底层维护的是一个动态数组,LinkedLisd底层维护的是一个双向链表,而它们之间的不同主要也是数组和链表的特征比较。因为ArrayList往集合中间插入数据要做两件事,把之前的数据挪开赋值到新的数组位置,然后把需要插入的数据插入到数组对应的位置。原理是:ArrayList是数据有下标标记数据位置的,查询时直接返回对应的数组下标数据即可。
2022-11-06 21:57:04
607
原创 final跟finally和finalize有什么区别
在垃圾收集器将该对象清除出内存之前会先调用它的finalize方法,做一些内存清理工作,通常这部分是非Java内存,如socket,finalize只会被调用一次。被final修饰的变量,表示此变量不能被修改,也就是该变量为一个常量。所以对于用final修饰的变量我们必须在声明它的时候赋值,或者代码块中赋值,又或者在构造器中给它赋值。被final所修饰的类,此类不能被其他类所继承,因为抽象类不能被继承,所以abstract关键字和final关键字不能共存。被final修饰的方法,表示此方法不能被重写。
2022-11-06 17:46:18
371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人