출처 : 인프런 스프링과 JPA 기반 웹 애플리케이션 개발 ( 백기선 )

inf.run/Bty8

 

스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런

이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습

www.inflearn.com

기초 점검

 

자바

  • final
  • static
  • equals/ hashCode / toString
  • constructor
private final String name;

컴파일 에러 이유

더보기

객체 생성시 외부 데이터로 초기화해야 한다면, 생성자에서 초기값을 지정해야 하는데

생성자에서 final필드의 최종 초기화를 하지 못하기 때문에 컴파일 에러가 나온다

이를 막기 위해 필드 선언 시 초기화 하거나 생성자를 통해 초기값을 설정한다.

public class Foo {

    static {
    	System.out.println("hello");
    }
	
    private void printHi() {
    	System.out.println("hi");
    }
    
    public static void main(String[] args) {
    	Foo foo = new Foo();	
        // static 블록은 클래스가 메모리로 로딩될 때 자동으로 실행된다.
        // 클래스가 메모리로 로딩될 때 선언된 순서대로 실행된다.
        foo.printHi();
        // 
        
        Foo.java -> foo.class -> compile -> classloader loading (Foo class heap Area 저장)
        -> static block 실행 ( hello 실행)
        -> Execution Engine heap에 적재된 foo Class 기계어로 변환
        -> 명령어 단위로 실행 (hi)
        -> garbage Collector에서 foo class 객체 제거
        -> 프로그램 종료
       
    }
}

 

html (TymeLeaf)

CSS (id, class 이해) BootStrap (미흡) 

JavaScript (Jquery)

 

스프링부트

@Bean Annotation / application.properties(context) /

스프링부트 

스프링 MVC

스프링 데이터 JPA

스프링 시큐리티

 

JPA

 

JPA Transient Persistent Detached deleted 상태 (잘 모름)

DBMS -> mysql, oracle 해봤음 postgre로 하신다고 함 

User Role, DB 생성 , 권한 / left join ( 해봄 )