1. 什么是javaConfig
JavaConfig就是使用注释来描述Bean配置的组件。JavaConfig 是Spring的一个子项目。传统spring一般都是基于xml配置的,不过后来新增了许多JavaConfig的注解。特别是springboot,基本都是清一色的java config
2. 配置文件在java 中怎么创建
1.一般在scr下面新建一个属性文件*.properties,如a.properties然后在Java程序中读取或操作这个属性文件。代码实例 属性文件a.properties如下:name=rootpass=liukey=value读取a.properties属性列表,与生成属性文件b.properties。代码如下:1 import java.io.BufferedInputStream; 2 import java.io.FileInputStream; 3 import java.io.FileOutputStream; 4 import java.io.InputStream; 5 import java.util.Iterator; 6 import java.util.Properties; 7 8 public class PropertyTest { 9 public static void main(String[] args) { 10 Properties prop = new Properties(); 11 try{12 //读取属性文件a.properties13 InputStream in = new BufferedInputStream (new FileInputStream("a.properties"));14 prop.load(in); ///加载属性列表15 Iterator<String> it=prop.stringPropertyNames().iterator();16 while(it.hasNext()){17 String key=it.next();18 System.out.println(key+":"+prop.getProperty(key));19 }20 in.close();21 22 ///保存属性到b.properties文件23 FileOutputStream oFile = new FileOutputStream("b.properties", true);//true表示追加打开24 prop.setProperty("phone", "10086");25 prop.store(oFile, "The New properties file");26 oFile.close();27 }28 catch(Exception e){29 System.out.println(e);30 }31 } 32 }getProperty/setProperty这两个方法是分别是获取和设置属性信息。Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。*.properties文件的注释用#。配置数据的时候是以键值对的形式,调用的时候和修改的时候也是操作键值对。2.当然还可以用*.xml来配置,位置一般在一个包下面。例如com.styspace包下面的config.properties文件。xml version="1.0" encoding="gbk"?> <Accounts> <Account type="by0003"> <code>100001</code> <pass>123</pass> <name>李四</name> <money>1000000.00</money> </Account> </Accounts>现在操作config.properties文件。import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; public class peropertiesLoaderTest { public static void main(String[] args) throws ConfigurationException{ Configuration config = new PropertiesConfiguration("com/styspace/config.properties"); String name = config.getString("name"); System.out.println("name:" + name); } }
3. java使用哪种文件格式作为配置文件比较好
1. properties。Java有对应的类
importjava.util.Properties
可以搜一下相关的资料,配置以“key-value”的形式存储,适用于比较小规模的配置文件;
2. jsON。如果应用数据通过json格式传输的话,也可以用这个格式来作为配置文件,就不用另写代码了。
3. xml。适用于大型应用的配置,规范性比较强。
4. java配置文件怎么写
参考java.util.Properties对象进行书写,另外可以在网上找一写辅助书写材料。
5. java 中配置文件路径读取使用FileReader和InputStream区别和用法
一、按数据来源(去向)分类:1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream3、是Char[]: CharArrayReader, CharArrayWriter4、是String: StringBufferInputStream, StringReader, StringWriter5、网络数据流:InputStream, OutputStream, Reader, Writer二、按是否格式化输出分:1、要格式化输出:PrintStream, PrintWriter三、按是否要缓冲分:1、要缓冲:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter四、按数据格式分:1、二进制格式(只要不能确定是纯文本的): InputStream, OutputStream及其所有带Stream结束的子类2、纯文本格式(含纯英文与汉字或其他编码方式);Reader, Writer及其所有带Reader, Writer的子类五、按输入输出分:1、输入:Reader, InputStream类型的子类2、输出:Writer, OutputStream类型的子类六、特殊需要:1、从Stream到Reader,Writer的转换类:InputStreamReader, OutputStreamWriter2、对象输入输出:ObjectInputStream, ObjectOutputStream3、进程间通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter4、合并输入:SequenceInputStream5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader决定使用哪个类以及它的构造进程的一般准则如下(不考虑特殊需要):首先,考虑最原始的数据格式是什么: 原则四第二,是输入还是输出:原则五第三,是否需要转换流:原则六第1点第四,数据来源(去向)是什么:原则一第五,是否要缓冲:原则三 (特别注明:一定要注意的是readLine()是否有定义,有什么比read, write更特殊的输入或输出方法)第六,是否要格式化输出:原则二Java中Inputstream与Reader的区别Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,InputStream、OutputStream是用来处理8位元的流,Reader、Writer是用来处理16位元的流。而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reader和Writer。值得说明的是,在这两种等级机构下,还有一道桥梁InputStreamReader、OutputStreamWriter负责进行InputStream到Reader的适配和由OutputStream到Writer的适配。java.io.Reader 和 java.io.InputStream 组成了 Java输入类。Reader 用于读入16位字符,也就是 Unicode编码的字符;而 InputStream 用于读入 ASCII字符和二进制数据。在 Java中,有不同类型的 Reader 输入流对应于不同的数据源:FileReader 用于从文件输入;CharArrayReader 用于从程序中的字符数组输入;StringReader 用于从程序中的字符串输入;PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:Socket 用于套接字;URLConnection 用于 URL 连接。这两个类使用 getInputStream() 来读取数据。相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。
6. java常用的配置文件有哪些
项目中经常会需要读取配置文件(properties文件),给你总结了配置文件读取方法如下:1、通过java.util.Properties读取
Java代码
Propertiesp=newProperties();
//p需要InputStream对象进行读取文件,而获取InputStream有多种方法:
//1、通过绝对路径:InputStreamis=newFileInputStream(filePath);
//2、通过Class.getResourceAsStream(path);
//3、通过ClassLoader.getResourceAsStream(path);
p.load(InputStreamis);
is.close();
p.getString(String(key))
2、通过java.util.ResourceBundle读取
Java代码
ResourceBundlerb=ResourceBundle.getBundle(packageName);
rb.getString(Stringkey);
7. java怎样提取配置文件
java读取配置文件的几种方法如下:方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。方式二:采用ResourceBundle类读取配置信息,优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。方式三:采用ClassLoader方式进行读取配置信息优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息缺点:只能加载类classes下面的资源文件。方法4 getResouceAsStreamXmlParserHandler.class.getResourceAsStream 与classloader不同使用的是当前类的相对路径
8. java中配置文件的作用
配置文件有的是框架需要的 有的是存放一些自定义的信息 总之就是供程序去读取信息的
9. 怎么优化java jvm配置文件
典型JVM参数设置: java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -Xmx3550m:设置JVM最大可用内存为3550M。 -Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。 -Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0 -XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5 -XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6 -XX:MaxPermSize=16m:设置持久代大小为16m。 -XX:MaxTenuringThreshold=0:设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。
10. java 怎么读取配置文件
一.读取xml配置文件(一)新建一个java bean(HelloBean. java) java代码(二)构造一个配置文件(beanConfig.xml)xml 代码(三)读取xml文件1.利用 java代码2.利用FileSystemResource读取java代码二.读取properties配置文件这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取(一)利用spring读取properties 文件我们还利用上面的HelloBean. java文件,构造如下beanConfig.properties文件:properties 代码helloBean.class=chb.demo.vo.HelloBean helloBean.helloWorld=Hello!chb! 属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。然后利用org.springframework.beans.factory.support.来读取属性文件 java代码(二)利用java.util.Properties读取属性文件比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:properties 代码ip=192.168.0.1 port=8080 三.读取位于Jar包之外的properties配置文件下面仅仅是列出读取文件的过程,剩下的解析成为properties的方法同上1 FileInputStream reader = new FileInputStream("config.properties");2 num = reader.read(byteStream);3 ByteArrayInputStream inStream = new ByteArrayInputStream(byteStream, 0, num);四.要读取的配置文件和类文件一起打包到一个Jar中String currentJarPath = URLDecoder.decode(YourClassName.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8"); //获取当前Jar文件名,并对其解码,防止出现中文乱码 JarFile currentJar = new JarFile(currentJarPath); JarEntry dbEntry = currentJar.getJarEntry("包名/配置文件"); InputStream in = currentJar.getInputStream(dbEntry); //以上YourClassName是class全名,也就是包括包名 修改: JarOutputStream out = new FileOutputStream(currentJarPath); out.putNextEntry(dbEntry); out.write(byte[] b, int off, int len); //写配置文件 。。。 out.close();