Spring管理Bean(注解)-IOC
Spring管理Bean(注解)-IOC注解方式配置bean
基本介绍基于注解配置bean,主要是项目中开发的组件,比如 Controller、Service、DAO
组件注解的形式
@Component 表示当前注解标识的是一个组件(不确定是哪一层时用Component)
@Controller 表示当前注解标识的是一个控制器, 通常用于 Servlet
@Service 表示当前注解标识的是一个处理业务逻辑的类, 通常用于 Service 类
@Repository 表示当前注解标识的是一个持久化层的类, 通常用于 Dao 类
配置bean.xml文件常规配置被扫描包路径
1<context:component-scan base-package="fullPath" />
【注意】
使用注解配置bean时,需要引入aop的jar
需要导入context名称空间
base-package=”fullPath” 是指定需要扫描的包,ioc容器将检测该包及其子包中被注解标识了的类
路径也可以用通配符来表述,com.mhl.spring ...
Spring管理Bean(xml)-IOC
Spring管理Bean(xml)-IOCSpring中的一大核心概念是IOC(Inversion of Control,控制反转),简单来说IOC就是统一管理应用程序中的bean对象。IOC负责创建、配置和管理Bean对象的生命周期,以及处理bean之间的依赖关系。在传统web开发方式中,需要不断创建对象,完成相应的业务逻辑,而spring则简化了这一过程,spring通过IOC统一管理了bean对象,需要时只需要从ioc中直接取出即可。
xml方式配置Bean
基础配置bean1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253public class Monster { //bean对象 private Integer id; private String name; private String skill; public Monster() { } public ...
Java基础查漏补缺
Java基础查漏补缺
Java基本类型包装类缓存池:
Integer、Byte、Long、Short 均为-128—127
Char为 \u0000 to \u007F(0—127)
Boolean为True False
Float和Double由于数字比较随机,使用缓存池命中率低,意义不大
String 内部使用char数组存储数据,被final修饰且内部没有修改value数组的方法,保证String不可变。
不可变的好处:
可以存hash值,hash值只计算一次,String用做HashMap的key
String Pool(字符串池):如果字符串已经被创建过,则下次引号创建时,直接引用已创建的字符串
安全性:保证参数不可变以及线程安全
通常不能进行隐式向下转型,如short s1 = 1; s1 = s1 + 1;,但是使用+=运算符可以进行隐式类型转换,如s1 += 1; ==> s1 = (short)(s1 + 1);
++操作符不是线程安全的操作。它涉及到多个指令,如读取变量值,增加,然后存储回内存,这个过程可能会出现多个线程 ...
Java——网络编程
Java—网络编程(学习Java网络编程时,需要有计算机网络的基础知识)
InetAddress类相关方法:
获取本机InetAddress对象 getLocalHost
根据指定主机名/域名获取ip地址对象 getByName
获取InetAddress对象的主机名 getHostName
获取InetAddress对象的地址 getHostAddress
1234567891011121314151617181920212223242526272829303132333435363738** * 演示InetAddress 类的使用 */public class API_ { public static void main(String[] args) throws UnknownHostException { //获取本机InetAddress对象 InetAddre ...
Java——IO
Java——IO文件概念
文件流:文件在程序中是以流的形式来操作的。
流:数据在数据源(文件)和程序(内存)之间经历的路径
输入流:数据从数据源(文件)到程序(内存)的路径
输出流:数据从程序(内存)到数据源(文件)的路径
常用的文件操作创建文件对象相关构造器和方法:
123456789101112131415161718192021222324252627282930313233343536373839404142public class FileCreate { public static void main(String[] args) { } @Test public void create01(){ String filePath = "E:/news1.txt"; //"\\"也可以写成"/" File file = new File(filePath); try { ...
操作系统(一)
操作系统操作系统概述操作系统的概念操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。即:
操作系统是系统资源的管理者
提供的功能:处理机(CPU)管理,存储器管理,文件管理,设备管理
目标:安全、高效
向上层提供方便易用的服务(GUI、命令接口)
联机命令接口 = 交互式命令接口 ,输入一句,执行一句,不断交互
脱机命令接口 = 批处理命令接口,输入一堆,执行一堆
程序接口:可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。如:C语言printf()函数
是最接近硬件的一层软件
操作系统的特征并发、共享、虚拟、异步
并发
并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
与之易混概念 并行:指两个或多个事件在同一时刻同时发生。
操作系统的并发性:指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时 ...
LeetCode(一)
LeetCode数组和字符串LeetCode 724(寻找数组的中心下标)(LeetCode 1991(找到数组的中间位置)相同)
题目描述:
给你一个整数数组 nums ,请计算数组的 中心下标 。
数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。
如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。
如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。
示例 1:
123456输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:中心下标是 3 。左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。
示例 2:
1234输入:nums = [1, 2, 3]输出:-1解释:数组中不存在满足此条件的中心下标。
示例 3:
123456输入:nums = [2, ...
Java——线程
Java线程基础线程概念
线程由进程创建,是进程的一个实体
一个进程可以拥有多个线程
单线程:同一时刻,只允许执行一个线程
多线程:同一时刻,可以执行多个线程,如一个QQ进程,可以打开多个聊天窗口,一个迅雷进程,可以同时下载多个文件
如何通过Java程序查询电脑CPU个数:
123Runtime runtime = Runtime.getRuntime(); int cpuNums = runtime.availableProcessors(); System.out.println(cpuNums);
线程的使用线程的创建Java中创建线程的两种方法:
继承 Thread 类 ,重写 run 方法
实现 Runnable 类,重写 run方法
继承 Thread 类:
1234567891011121314151617181920212223242526272829public class Thread01 { public static void main(String[] args) throws InterruptedExcep ...
Java——泛型
Java—— 泛型泛型的引入对于不加泛型的集合
不能对加入到ArrayList中的数据类型进行约束
12345ArrayList arraylist = new ArrayList();arraylist.add(new Dog("dahuang",3));arraylist.add(new Cat("tom",2));//arraylist中可以添加任意类型//如果要对arraylist进行遍历输出Dog信息时,Cat就会报错
遍历时,需要进行类型转换(Object—>具体类),如果集合中数据量比较大,对效率有影响
123456Iterator iterator = arrayList.iterator(); while (iterator.hasNext()) { Object next = iterator.next(); Dog dog = (Dog) next; //向下转型 System.out.println(dog.getName( ...
Java——集合
Java——集合集合优点:
可以动态保存任意多个元素,且类型不限
提供一系列操作方法:add、remove、set、get等
集合分类:
单列集合(Collection)分为 List (ArrayList、LinkedList、Vector)和 Set (HashSet、TreeSet)
双列集合(Map): HashMap(使用频率最高) 、 TreeMap 、Hashtable 、 Properties
Collection接口Collection常用方法1234567891011121314151617CollectionMethod//常用操作List list = new ArrayList();list.add(10);list.add("jack");list.add(true);System.out.println(list); //输出list.remove(0); //删除第一个元素list.remove("jack"); //指定删除某个对象System.out.println(list.contains(& ...
