properties in java and how use it in spring and how to read properites by martin nad

27
Properties in Java and Spring By Martin Nad [email protected]

Upload: martin-nad

Post on 12-Nov-2014

6.896 views

Category:

Documents


0 download

DESCRIPTION

How and why we can use property or properties in java and introdution to Springand if the properties file should be singelton or not.

TRANSCRIPT

Page 1: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

By Martin Nad [email protected]

Page 2: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

OVERVIEW

This documentation show to how you can properties in java (pojo) and Spring

We are using java, and we are developer. We should know how we can use different methods, and tools in different enviroment.

Here I will show you that two the different kind of properties that uses in Java and if we use the Spring we should Springs’ frame works if we want to use the properties.

Certently there is some cases that we should use pojo methods even in Spring if we want to use properties.

Page 1

Page 3: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

Table of context:

WHAT IS .PROPERTIES

WHY AND WHEN TO USE

PROPERTIES FORMATES IN JAVA

PROPERTIES FORMAT IN PLAIN-TEXT

EXAMPLE XML-BASED

SINGLETON

SINGLETON OR NOT

SPRING PROPERTIES-BEAN

SPRING PROPERTIES

MY OTHER DOCUMENTATIONXML-BASED PROPETIES

Page 2

Page 4: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

.

Page 3

Page 5: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

Properties in Java and Spring

WHAT IS .PROPERTIES

“Properties are a file extension for files mainly used in Java related technologies to store the configurable parameters of an application. “

If we have constant-globles variables, that we need to use in our application.

And it should much better to have those variables outside of the source cods and define in seperate file, text file, xml file, or in case of Spring use Spring bean-application-context to have them.

If we want change those constant-variables, we don’t need to go to the source code and change there and complie it, and make package and put it on the server. You just modify the xml, file, application-context, and when you updated it, your application want to read the new values.

Unfortuently if you are using J2EE, and using for example Spring, you should make a new package and restart your application. But advantages here, is: just you don’t need to modify your source.

Page 4

Page 6: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

WHY AND WHEN TO USE

You define your constant-variables in a text file, or xml file, i prefer to use xml, it should be very nicer than plane test file. Maybe it is because i use xml in very early already from 2000 and i will recomend to use xml-formate too. And it can also be used for storing strings for localization; these are known as Property Resource Bundles.

PROPERTIES FORMATES IN JAVA(POJO)

POJO stands for Pland Old Java Object.Each parameter is stored as a pair of strings, one storing the name of the parameter (called the key), and the other storing the value.

.PROPERTIES FORMAT IN PLAIN-TEXT

Each line in a .properties file normally stores a single property. key=value Several formats are possible for each line, including key=value, key = value, key:value, and key value.number sign (#) or the exclamation mark (!) as the first non blank character in a line to denote that all text following it is a

Page 5

Page 7: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

comment. The backwards slash is used to escape a character

EXAMPLE AS PLAIN-TEXT

a = a string b = a string with escape sequences \t \n \r \\ \" \' \ (space) \u0123 c = a string with a continuation line \ continuation line d.e.f = another string

EXAMPLE CONT.

Properties properties = new Properties(); try { properties.load(new FileInputStream("filename.properties")); } catch (IOException e) { } // Write properties file. try { properties.store(new FileOutputStream("filename.properties"), null); } catch (IOException e) { } Plain text example 2import java.util.*; import java.io.*; public class LoadSample {

Page 6

Page 8: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

public static void main(String args[]) throws Exception { prop = new Properties(); FileInputStream fis = new FileInputStream("sample.properties"); prop.load(fis); prop.list(System.out); System.out.println("\nThe foo property: " + prop.getProperty("foo")); } }

Page 7

Page 9: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

XML-BASED PROPETIES

Xml is very nice formate to define any document.

As usual begin with

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

And follows by

<properties>

To comments

<comment>Hi</comment>

To define properties use of

<entry key="foo">bar</entry>

Page 8

Page 10: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

EXAMPLE XML-BASED

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Hi</comment> <entry key="foo">bar</entry> <entry key="fu">baz</entry> </properties>

AND HERE THE JAVA CODE:

import java.util.*; import java.io.*; public class LoadSampleXML { public static void main(String args[]) throws Exception { Properties prop = new Properties(); FileInputStream fis = new FileInputStream("sampleprops.xml"); prop.loadFromXML(fis); prop.list(System.out); System.out.println("\nThe foo property: " + prop.getProperty("foo")); }

Page 9

Page 11: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

}

SINGLETON

The Singleton pattern is effective for limiting the maximum number of instances of a class to exactly one. In this case, if more than one object needs to use an instance of the Singleton class, those objects share the same Singleton class instance. A class that implements the Singleton pattern is called a Singleton class.

SINGLETON OR NOT

Not necessary to have singleton on Java-property file.

You should have singletone on some class that you shouldn’t have more than one instance of it, as Calender. You should have just one calender instance in your application.

If you are using the Spring, in spring every classes are singleton by default.

Page 10

Page 12: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

SPRING PROPERTIES

In spring you need think in some different way than POJO.

You should have a bean class for all element you need. And define them in your xml-baserade (main xml-file, you can rename it to whatever you like)application-context.xml

It doesn’t neccessery to put all in application-context.xml

You can write your own xml as properties.xml and just import it into the application-context.xml

<bean id="serviceController" class="org.martin.ServiceController"><property name="statusProperties" ref="statusProperties" /><property name="statisticDAO" ref="statisticDAO"/></bean>

If you like this documentation and it was helpful you can just donate 7$ by using this https://www.paypal.com/cgi-bin/webscr?cmd=_s-

xclick&hosted_button_id=5814019 or use this to put any amont you like to donate

Page 11

Page 13: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5813954 and if it doesn’t work copy the link and put it on your browser.if it doesn’t work copy the link and put it on your browser.

Page 12

Page 14: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

SPRING PROPERTIES-BEAN

/** * */package org.martin.beans;

/** * @author mn * */public class StatusPropertiesBean {

private String CMD_IS_NULL;private String CMD_IS_OK;

private String getModels_problem;private String msisdn_missing;private String venders_missing;private String vendors_problem;

private String model_missing;

Spring properties-bean

Page 13

Page 15: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

private String startpage_problem;private String settingname_missing;private String originator_missing;private String msisdn_problem;private String callresult_missing;private String callresult_problem;private String unkown_command;private String country_missing;

//and your geter and seter

public String getCMD_IS_NULL() {return CMD_IS_NULL;

}public void setCMD_IS_NULL(String cmd_is_null) {

CMD_IS_NULL = cmd_is_null;}public String getCMD_IS_OK() {

return CMD_IS_OK;}public void setCMD_IS_OK(String cmd_is_ok) {

CMD_IS_OK = cmd_is_ok;}

public String getGetModels_problem() {return getModels_problem;

}public void setGetModels_problem(String getModels_problem) {

Page 14

Page 16: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

this.getModels_problem = getModels_problem;}Spring properties-beanpublic String getMsisdn_missing() {

return msisdn_missing;}public void setMsisdn_missing(String msisdn_missing) {

this.msisdn_missing = msisdn_missing;}public String getVenders_missing() {

return venders_missing;}public void setVenders_missing(String venders_missing) {

this.venders_missing = venders_missing;}public String getModel_missing() {

return model_missing;}public void setModel_missing(String model_missing) {

this.model_missing = model_missing;}public String getStartpage_problem() {

return startpage_problem;}public void setStartpage_problem(String startpage_problem) {

this.startpage_problem = startpage_problem;}public String getSettingname_missing() {

return settingname_missing;

Page 15

Page 17: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

}public void setSettingname_missing(String settingname_missing) {

this.settingname_missing = settingname_missing;}public String getOriginator_missing() {

return originator_missing;}public void setOriginator_missing(String originator_missing) {

this.originator_missing = originator_missing;}public String getMsisdn_problem() {

return msisdn_problem;}Spring properties-beanpublic void setMsisdn_problem(String msisdn_problem) {

this.msisdn_problem = msisdn_problem;}public String getCallresult_missing() {

return callresult_missing;}public void setCallresult_missing(String callresult_missing) {

this.callresult_missing = callresult_missing;}public String getCallresult_problem() {

return callresult_problem;}public void setCallresult_problem(String callresult_problem) {

Page 16

Page 18: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

this.callresult_problem = callresult_problem;}public String getUnkown_command() {

return unkown_command;}public void setUnkown_command(String unkown_command) {

unkown_command = unkown_command;}public void setCountry_missing(String country_missing) {

this.country_missing = country_missing;}public String getCountry_missing() {

return country_missing;}public void setVendors_problem(String vendors_problem) {

vendors_problem = vendors_problem;}public String getVendors_problem() {

return vendors_problem;}

}

public String getMessage() {return message;

}public void setMessage(String message) {

this.message = message;}public void setProperties(Properties properties) {

Page 17

Page 19: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

this.properties = properties;}public Properties getProperties() {

return properties;}

}

SPRING PROPERTIES

In this way you define your bean in the application-context.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean id="statusProperties" class="dk.unwire.projects.ota.beans.StatusPropertiesBean"><property name="CMD_IS_OK"><value>1000</value></property><property name="callresult_missing">

Page 18

Page 20: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

<value>2000</value></property><property name="vendors_problem"><value>3001</value></property><property name="getModels_problem"><value>3002</value></property><property name="callresult_problem"><value>3003</value>Spring properties</property><property name="unkown_command"><value>4000</value></property><property name="CMD_IS_NULL"><value>4000</value></property><property name="venders_missing"><value>4203</value></property><property name="model_missing"><value>4205</value></property><property name="startpage_problem"><value>4206</value></property><property name="msisdn_missing"><value>4207</value></property>

Page 19

Page 21: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

<!--<property name="venders_problem"><value>4203</value></property>should look at here too--><property name="settingname_missing"><value>4208</value></property><property name="originator_missing"><value>4209</value></property><property name="msisdn_problem"><value>4303</value></property> <!-- <property name=""><value></value></property>--><!-- <property name=""><value></value></property>--><!-- <property name="">

<value></value>

</property>--></bean></beans>

And you are done, so simple.

DONATION

Page 20

Page 22: Properties in Java and how use it in Spring and how to read properites by Martin Nad

Properties in Java and Spring

For donation you can just donate 7$ by using this https://www.paypal.com/cgi-bin/webscr?cmd=_s-

xclick&hosted_button_id=5814019 or use this to put any amont you like to donatehttps://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5813954 and if it doesn’t work copy the link and put it on your browser.if it doesn’t work copy the link and put it on your browser.

Page 21