string类

spring初始化源码浅析之关键类和扩展接口

本小妞迷上赌 提交于 2020-02-04 00:49:27
目录 1、关键接口和类 1.1、关键类之 DefaultListableBeanFactory 1.2、关键类之XmlBeanDefinitionReader 1.3、关键类之ClassPathXmlApplicationContext 2、spring初始化过程中对外暴露的扩展接口 3、扩展点的启动顺序 spring的IOC容器初始化流程很复杂,本文只关注流程中的关键点,勾勒出主要轮廓,对容器的初始化有一个整体认识,以下基于spring的5.1.2.RELEASE分析,本文演示代码地址:https://github.com/amapleleaf/spring-code.git 本文分为两部分:《spring初始化源码浅析之关键类和扩展接口》、《spring初始化源码浅析之代码浅析》 1、关键接口和类 1.1、关键类之 DefaultListableBeanFactory 该类核心功能: 1、提供注册、获取等等与BeanDefinition对象操作相关的方法,BeanDefinition缓存在DefaultListableBeanFactory的beanDefinitionMap变量(ConcurrentHashMap类型) 2、提供创建、注册、获取、单例等等跟bean对象操作相关的方法供ApplicationContext使用

Java --- Scanner类

…衆ロ難τιáo~ 提交于 2020-02-03 07:55:24
java.util.scanner是java5的新特性通过Scanner类来获取用户的输入。 创建Scanner对象: Scanner s = new Scanner(System.in); 常用的方法: 1. 获取输入的字符串 next()和nextLine() 1.1 next()方法接收字符串 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // next方式接收字符串 System.out.println("next方式接收:"); // 判断是否还有输入 if (scanner.hasNext()) { String str1 = scanner.next(); System.out.println("输入的数据为:" + str1); } scanner.close(); } 输出结果为: 1.2 nextLine()方法接收字符串 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // next方式接收字符串 System.out.println("nextLine方式接收:"); // 判断是否还有输入 if (scanner

JAVA匿名内部类(Anonymous Classes)

霸气de小男生 提交于 2020-02-01 22:30:01
1.前言 匿名内部类在我们JAVA程序员的日常工作中经常要用到,但是很多时候也只是照本宣科地用,虽然也在用,但往往忽略了以下几点:为什么能这么用?匿名内部类的语法是怎样的?有哪些限制?因此,最近,我在完成了手头的开发任务后,查阅了一下JAVA官方文档,将匿名内部类的使用进行了一下总结,案例也摘自官方文档。感兴趣的可以查阅官方文档( https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html )。 2.匿名内部类 匿名内部类可以使你的代码更加简洁,你可以在定义一个类的同时对其进行实例化。它与局部类很相似,不同的是它没有类名,如果某个局部类你只需要用一次,那么你就可以使用匿名内部类(Anonymous classes enable you to make your code more concise. They enable you to declare and instantiate a class at the same time. They are like local classes except that they do not have a name. Use them if you need to use a local class only once.) 本节包括以下几个方面:

小白学Java:内部类

别来无恙 提交于 2020-01-31 17:17:58
目录 小白学Java:内部类 内部类的分类 成员内部类 局部内部类 静态内部类 匿名内部类 内部类的继承 内部类有啥用 小白学Java:内部类 内部类是封装的一种形式,是定义在类或接口中的类。 内部类的分类 成员内部类 即定义的内部类作为外部类的一个普通成员(非static),就像下面这样: public class Outer { class Inner{ private String id = "夏天"; public String getId() { return id; } } public Inner returnInner(){ return new Inner(); } public void show(){ Inner in = new Inner(); System.out.println(in.id); } } 我们通过以上一个简单的示例,可以得出以下几点: Inner类就是内部类,它的定义在Outer类的内部。 Outer类中的returnInner方法 返回一个Inner类型的对象 。 Outer类中的show方法通过我们熟悉的方式创建了Inner示例并访问了其私有属性。 可以看到,我们像使用正常类一样使用内部类,但实际上,内部类有许多奥妙,值得我们去学习。至于内部类的用处,我们暂且不谈,先学习它的语法也不迟

39.Object类

烂漫一生 提交于 2020-01-31 08:01:41
Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。 toString Object类中定义有public String toString()方法,其返回值是 String 类型。Object类中toString方法的源码为: public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 根据如上源码得知,默认会返回“类名+@+16进制的hashcode”。在打印输出或者用字符串连接对象时,会自动调用该对象的toString()方法。 package OOprogress ; /* * test Object类中的toString方法 */ public class testObject { public static void main ( String [ ] argd ) { testObject to = new testObject ( ) ; System . out . println ( to ) ; //调用继承Object类中的toString方法 /* public String toString()

C++语法之STL映射类

好久不见. 提交于 2020-01-31 05:12:34
键值对容器,在需要频繁快速查找时使用 map和multimap类 头文件:< map> 内部结构类似二叉树实现,在插入元素的时进行排序,所以不能替换特定位置的元素 map和multimap的差别在于能不能储存唯一的键 实例化: std :: map < keyType , valueType , Predicate = std :: less < keyType >> Name ; std :: multimap < keyType , valueType , Predicate = std :: less < keyType >> Name ; //示例 // map and multimap key of type int to value of type string map < int , string > mapIntToStr1 ; multimap < int , string > mmapIntToStr1 ; // map and multimap constructed as a copy of another map < int , string > mapIntToStr2 ( mapIntToStr1 ) ; multimap < int , string > mmapIntToStr2 ( mmapIntToStr1 ) ; // map and

C#操作SQL Server通用类

…衆ロ難τιáo~ 提交于 2020-01-30 10:08:17
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Collections; using System.Data.SqlClient; /// <summary> /// 数据库的通用访问代码 /// 此类为抽象类,不允许实例化,在应用时直接调用即可 /// </summary> public abstract class SqlHelper { //获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改 public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings[ "pubsConnectionString" ].ConnectionString; // 哈希表用来存储缓存的参数信息,哈希表可以存储任意类型的参数。 private static Hashtable parmCache = Hashtable.Synchronized( new Hashtable()); /// <summary> //

SQL SERVER C#数据库操作类

我们两清 提交于 2020-01-30 10:03:56
1 using System; 2 using System.Collections; 3 using System.Collections.Specialized; 4 using System.Data; 5 using System.Data.SqlClient; 6 using System.Configuration; 7 8 namespace SQLServerDAL // 可以修改成实际项目的命名空间名称 9 { 10 /**/ /**/ /**/ /// <summary> 11 /// Copyright (C) 2004-2008 LiTianPing 12 /// 数据访问基础类(基于SQLServer) 13 /// 用户可以修改满足自己项目的需要。 14 /// </summary> 15 public abstract class DbHelperSQL 16 { 17 // 数据库连接字符串(web.config来配置) 18 // <add key="ConnectionString" value="server=127.0.0.1;database=DATABASE;uid=sa;pwd=" /> 19 protected static string connectionString = ConfigurationSettings

ADO_NET对数据库操作经典类

冷暖自知 提交于 2020-01-30 09:58:28
using System; using System.Collections; using System.Collections.Specialized; using System.Runtime.Remoting.Messaging; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace LTP.SQLServerDAL { /// <summary> /// ADO.NET数据库操作基础类。 /// </summary> public abstract class DbManagerSQL { //数据库连接字符串 protected static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"]; public DbManagerSQL() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString"></param> /// <returns></returns> public static

ADO.NET对数据库操作经典类

两盒软妹~` 提交于 2020-01-30 09:57:29
using System; using System.Collections; using System.Collections.Specialized; using System.Runtime.Remoting.Messaging; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace LTP.SQLServerDAL { /// <summary> /// ADO.NET数据库操作基础类。 /// </summary> public abstract class DbManagerSQL { //数据库连接字符串 protected static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"]; public DbManagerSQL() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString"></param> /// <returns></returns> public static