Сообщения

Сообщения за сентябрь, 2021

Spring. Creating a Custom Java Annotaiton

  package com.luv2code.springmvcdemo.validation ; import javax.validation. Constraint ; import javax.validation.Payload ; import java.lang.annotation.ElementType ; import java.lang.annotation. Retention ; import java.lang.annotation.RetentionPolicy ; import java.lang.annotation. Target ; @Constraint (validatedBy = CourseCodeConstraintValidator . class ) @Target ({ ElementType . METHOD , ElementType . FIELD }) @Retention ( RetentionPolicy . RUNTIME ) public @ interface CourseCode { // define default course code public String value () default "LUV" ; // define default error message public String message () default "must start with LUV" ; // define default groups public Class <?>[] groups () default {} ; // define default payloads public Class <? extends Payload >[] payload () default {} ; } package com.luv2code.springmvcdemo.validation ; import javax.validation.ConstraintValidator ; import javax.validation.ConstraintValidato

Spring. @Autowire , Dependency Injection

 package com.example.demo; import org.springframework.stereotype.Component; @Component("lap") public class Laptop { private int lid; private String brand; public int getLid() { return lid; } public void setLid(int lid) { this.lid = lid; } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } @Override public String toString() { return "Laptop [lid=" + lid + ", brand=" + brand + "]"; } public void compile() { System.out.println("compilig"); } }

String

Изображение
 String - immutable klassdir.      Burada gorduyumuz kimi Heap yaddawin icinde String pool deyilen bir yaddaw novu var. Biz yeni String obyekti yaratdiqda hemin String Poolda deyerler saxlanilir. Yuxaridaki wekilden gorunduyu kimi burada iki obyekt var lakin her ikiside yaddawda eyni yere baxir. Eger bir String b = "Ali" yazsaq, demeli String Poolda yeni bir deyer yaranacaq.     String c = new String("Parvin"); dedikde Heap yaddawda yeni yer yaradir.  package mylibrary ; import java.util.Objects ; public class Main { public static void main ( String [] args ) { String a = "Parvin" ; String b = "Parvin" ; String c = new String( "Parvin" ) ; String d = new String( "Parvin" ) ; System . out .println( a == b ) ; // true System . out .println( a == c ) ; // false System . out .println( c == d ) ; // false System . out .println( a .equals( b )) ; // true Sys

Spring. Injecting Values from Properties file.

  foo.email = test@gmail.com foo.team = test team package com.example.demo ; import org.springframework.context.annotation. Bean ; import org.springframework.context.annotation. ComponentScan ; import org.springframework.context.annotation. Configuration ; import org.springframework.context.annotation. PropertySource ; @Configuration //@ComponentScan("com.example.demo") @PropertySource ( "classpath:sport.properties" ) public class SportConfig { @Bean public FortuneService sadFortuneService () { return new SadFortuneService() ; } @Bean public Coach swimCoach () { return new SwimCoach(sadFortuneService()) ; } } package com.example.demo ; import org.springframework.beans.factory.annotation. Value ; public class SwimCoach implements Coach { private FortuneService fortuneService ; @Value ( "${foo.email}" ) private String email ; @Value ( "${foo.team}" ) private String team ; public SwimCo

Spring. Defining Spring Beans with Java Code (no XML)

  package com.example.demo ; public interface FortuneService { public String getFortune () ; } package com.example.demo ; public class SadFortuneService implements FortuneService { @Override public String getFortune () { return "Today is a sad day" ; } } package com.example.demo ; public interface Coach { public String getDailyWorkout () ; public String getDailyFortune () ; } package com.example.demo ; public class SwimCoach implements Coach { private FortuneService fortuneService ; public SwimCoach ( FortuneService fortuneService ) { this . fortuneService = fortuneService ; } @Override public String getDailyWorkout () { return "Swim 1000 meters as a warm up." ; } @Override public String getDailyFortune () { return fortuneService .getFortune() ; } } package com.example.demo ; import org.springframework.context.annotation. Bean ; import org.springframework.context.annotation.

Spring. Configuration with Java Code (no XML)

  package com.example.demo ; import org.springframework.context.annotation. ComponentScan ; import org.springframework.context.annotation. Configuration ; @Configuration @ComponentScan ( "com.example.demo" ) public class SportConfig { } package com.example.demo ; import org.springframework.context.annotation.AnnotationConfigApplicationContext ; public class JavaConfigDemoApp { public static void main ( String [] args ) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( SportConfig . class ) ; Coach coach = context .getBean( "tennisCoach" , Coach . class ) ; System . out .println( coach .getDailyWorkout()) ; System . out .println( coach .getDailyFortune()) ; context .close() ; } }

Spring. @PostConstruct and @PreDestroy

  package com.example.demo ; import org.springframework.beans.factory.annotation. Autowired ; import org.springframework.beans.factory.annotation. Qualifier ; import org.springframework.context.annotation. Scope ; import org.springframework.stereotype. Component ; import javax.annotation. PostConstruct ; import javax.annotation. PreDestroy ; @Component //@Scope("prototype") public class TennisCoach implements Coach { @Autowired @Qualifier ( "randomFortuneService" ) private FortuneService fortuneService ; public TennisCoach () { System . out .println( "TennisCoach: inside default constructor" ) ; } @Override public String getDailyWorkout () { return "Practice your backhand volley" ; } @Override public String getDailyFortune () { return fortuneService .getFortune() ; } @PostConstruct public void doMyStartupStuff () { System . out .println( "Inside Post Construc

Spring. Dependency Injection with Annotaions and Autowiring

 Autowiring Injection Types 1. Constructor Injection 2. Setter Injection 3. Field Injections Constructor Injection <? xml version ="1.0" encoding ="UTF-8" ?> <beans xmlns ="http://www.springframework.org/schema/beans" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns: context ="http://www.springframework.org/schema/context" xsi :schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" > <!-- add entry to enable component scanning --> < context :component-scan base-package ="com.example.demo" /> </beans> package com.example.demo ; import org.springframework.beans.factory.annotation. Autowired ; import org.springframework.stereotype. Component ; @Component public class Tenni

Spring. Inversion of Control with Annotations.

  <? xml version ="1.0" encoding ="UTF-8" ?> <beans xmlns ="http://www.springframework.org/schema/beans" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns: context ="http://www.springframework.org/schema/context" xsi :schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" > <!-- add entry to enable component scanning --> < context :component-scan base-package ="com.example.demo" /> </beans> package com.example.demo ; public interface Coach { public String getDailyWorkout () ; } package com.example.demo ; import org.springframework.stereotype. Component ; @Component public class TennisCoach implements Coach { @Override public String getDailyWorkout () {

Spring. Defining init and destroy methods.

1. Access modifier      The method can have any access modifier (public, protected, private). 2. Return type      The method can have any return type. However, "void" is most commonly used. If you give a return type just note that you will not be able to capture the return value. As a result, "void" is commonly used.   3. Method name     The method can have any method name. 4. Arguments     The method can not accept any arguments. The method should be no-arg. <? xml version ="1.0" encoding ="UTF-8" ?> <beans xmlns ="http://www.springframework.org/schema/beans" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns: context ="http://www.springframework.org/schema/context" xsi :schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/s

Spring. Dependency Injection

Изображение
      The client delegates to call to another object the responsibility of providing its dependencies. <? xml version ="1.0" encoding ="UTF-8" ?> <beans xmlns ="http://www.springframework.org/schema/beans" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns: context ="http://www.springframework.org/schema/context" xsi :schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" > <bean id ="myFortune" class ="com.example.demo.HappyFortuneService" > </bean> <bean id = "myCoach" class ="com.example.demo.TrackCoach" > <constructor-arg ref ="myFortune" /> </bean> </beans> package com.example.demo ; public c

Spring. Spring Container

Изображение
 Primary functions: 1. Create and manage objects (Inversion of Control) 2. Inject object's dependencies (Dependency Injection) Configuring Spring Container 1. XML configuration file  2. Java Annotations (modern) 3. Java Source Code (modern) Spring container is generally known as ApplicationContext. A "Spring Bean" is simply a Java object. When Java objects are created by the Spring Container,  then Spring refers to them as "Spring Beans". <? xml version ="1.0" encoding ="UTF-8" ?> <beans xmlns ="http://www.springframework.org/schema/beans" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns: context ="http://www.springframework.org/schema/context" xsi :schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spr

Fibonacci algorithm

  package mylibrary ; public class Series { public static void fibonacci ( int n ) { int a = 0 ; int b = 1 ; int fibonacci = 0 ; for ( int i = 0 ; i < n ; i ++) { System . out .println( fibonacci ) ; a = b ; b = fibonacci ; fibonacci = a + b ; } } }

Basic things

  package gen ; public class Main { public static void main ( String [] args ) { System . out .println( "Hello" + 1 + 2 + 3 ) ; System . out .println( 1 + 2 + 3 + "Hello" ) ; System . out .println(( 1 + 2 + 3 ) + "Hello" ) ; System . out .println( "Hello" + ( 1 + 2 + 3 )) ; } } Output: "C:\Program Files\Java\jdk1.8.0_281\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.2\lib\idea_rt.jar=4561:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_281\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_281\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_281\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_281\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_281\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_281\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_2