JAVA

    카페24 jsp 호스팅

    1. /home/hosting_users/USER_ID/www/ - web application 서비스 디렉토리 2 /home/hosting_users/USER_ID/www/WEB-INF/web.xml - 서블릿과 웹어플리케이션을 구성하는 파일입니다. 3. /home/hosting_users/USER_ID/www/WEB-INF/lib/ - 웹어플리케이션에서 사용하는 자바 클래스파일을 포함하는 JAR 파일들이 위치합니다.. 외부 클래스 라이브러리나 JDBC 드라이버가 위치 하는경로 입니다. (단 tomcat/lib/ 에 기본 구성되어있는 라이브러리 파일을 업로드 하실경우 충돌이 생길수 있습니다.) 4. /home/hosting_users/USER_ID/www/WEB-INF/classes/ - 웹 어플리케이..

    [1028web JSTL ]커스텀 라이브러리

    error 1. 문제 Integer로 정의된 Map 이 연산식으로 만들어진 숫자키를 읽지 못함 cannot get Map Integer key's value 검색 해결 taglib 로 Integer 로 형변환하는 태그 생성해서 호출함 정상 확인 커스텀 테그 라이브러리 생성 1. taglibs 프로젝트에 등록 - pom.xml taglibs-standard-impl 추가. - maven Reload project org.apache.taglibs taglibs-standard-impl 1.2.5 2. 동작할 메소드 생성 - static으로 생성, 내부에 static 선언의 필요할수 있으니 주의할것. public class MimimiTagLibHandler extends SimpleTagSupport { ..

    VelocityEngine

    VTL (Velocity Template Language) VTL은 Velocity에서 템플릿 개발에 사용되는 언어로 레퍼런스(Reference), 디렉티브(Directive), 그리고 주석(Comment)으로 구성된다. 레퍼런스 ${variable} 컨텍스트에서 제공되는 변수에 대한 레퍼런스 ${variable.property} 속성에 대한 레퍼런스 ${variable.method(args)} 메소드 대한 레퍼런스 디렉티브 #set 레퍼런스의 값을 설정 #if #elseif #else 조건문 제어 #foreach 반복문 제어 #include 파싱되지 않는 로컬 파일 출력 #parse 파싱되는 로컬 템플릿 출력 #stop 템플릿 엔진의 동작 정지 #macro 반복적으로 사용될 매크로 정의 주석 ## 한 ..

    Java 프로그래밍 언어의 코드 규칙, java 표준 코딩

    출처 : https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html 2. 파일 이름 확장자 .java : 자바소스, .class : 클래스 소스 일반적사용 파일이름 GNUmakefile , README 3. 파일구성 파일 구성 0. 2000줄 보다 긴 파일은 피할것. Java Source File Example 참고. 1. 각 Java 소스 파일에는 단일 공용 클래스, 인터페이스 포함, 공개 클래스는 파일의 첫 번째 클래스 또는 인터페이스. Java 소스 파일 의 순서. - 주석시작(Beginning Comments) - 패키지 및 가져오기 문(Package and Import statements) - 클래스..

    [1028web annotation] 어노테이션

    어노테이션 영어사전: 주석, extra information 1. built-in 어노테이션 : Java 코드에 적용되는 어노테이션 ex) @Overried, @Deprecated, @SuppressWarnings, @SafeVarargs, @FunctionalInterface 2. Meta 어노테이션 : 다른 어노테이션에 적용되기 위한 어노테이션(custom-annotation 생성 시) ex) @Retention, @Documented, @Target... meta-annotaiton custom-annotation(커스텀 어노테이션) 생성할 때 주로 사용. cf) Meta-Data : 데이터에 대한 데이터 @SpringBootApplication @Target({ElementType.TYPE}) @..

    [1028web 이클립스, sts]

    1.  spring boot > sts4 2. spring framework > sts3  https://mainia.tistory.com/1219  > sql 에디터 열기파일 우클릭 > openwith > sql text file > User it for all *.sql files  용량이 커서 안된다 https://stackoverflow.com/questions/24200443/how-to-open-a-huge-sql-file  문제 : java.lang.OutOfMemoryError: Java heap space이클립스 > 서버 환경설정 > arguments > vm argumets 에 "-XX:MaxPermSize=1028m -Xms1028m -Xmx1028m" 추가. 출처: https://z..

    [스터디할래? Java] 목차

    이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 매년 혼자 자바 책한권씩 정리했었는데, 이 스터디 따라가는게 훨~~~씬 좋았습니다. 어떻게 공부할지에 대한것을 많이 배웠습니다. 누군가에게 도움이 되길 바라며 남김니다. 유튜브 구독하시면 이전 스터디 수강가능합니다. 백기선님 유튜브 >>https://www.youtube.com/user/whiteship2000 스터디할래 유튜브 >>https://youtu.be/peEXNN-oob4 스터디할래 링크 >> https://github.com/whiteship/live-study [스터디할래? Java 01] JVM 이란 무엇인가? [스터디할래? Java 02] 자바 데이터 타입, 변수 그리고 배열 [스터디할래? Java 03] 연산자 Oper..

    [스터디할래? Java 15]lambda 람다

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >>https://xxxelppa.tistory.com/207, https://tourspace.tistory.com/6 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. 람다식 lambda expression : 식별자 없이 실행 가능한 함수표현식 익명클래스를 함수표현식으로 처리할수 있음. 식별자: 코드에 존재하는 변수, 자료형, 서브루틴 등을 가리키는 토큰이다. + java8 부터 람다식 가능하게..

    [스터디할래? Java 14]제네릭

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >>https://sujl95.tistory.com/73 , https://docs.oracle.com/javase/tutorial/java/generics/types.html 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. 제네릭 data type을 클래스, 메소드에서 내부 데이터 타입을 제네릭으로 지정, "컴파일과정에서 문제제거" - jdk1.5 부터 도입 - jdk 1.7 Diamond : 타..

    [스터디할래? Java 13]I/O

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://www.notion.so/I-O-af9b3036338c43a8bf9fa6a521cda242 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. I/O Input & Ouput 입출력 java.io // 데코레이션 패턴으로 만들어짐 : 컴퓨터 내부 또는 외부장치와 프로그램간 데이터 주고받기. ex) 키보드 데이터 입력, System.out.println() 데코레이션패턴 객체의 타입,..

    [스터디할래? Java 12]애노테이션

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://b-programmer.tistory.com/264 , https://gowoonsori.site/java/annotation/ 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. 어노테이션 정의방법 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METH..

    [스터디할래? Java 11]enum

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://xxxelppa.tistory.com/204?category=858435 , 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. enum정의 public enum TODAY { MORNING, AFTERNOON } public enum TODAY_TIME { MORNING(6, 11), AFTERNOON(12, 6); private int startTime; private int e..

    [스터디할래? Java 10]멀티쓰레드 프로그래밍

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://sujl95.tistory.com/63 , https://wisdom-and-record.tistory.com/48 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. 프로세스 와 쓰레드 프로세스 : 자원(resources, 데이터+메모리) + 쓰레드 쓰레드 : 프로세스의 자원을 이용해 셀제 작업을 수행하는것. Runnable vs Thread Runnable : 함수형인터페이스 p..

    [스터디할래? Java 09]예외처리

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://www.notion.so/3565a9689f714638af34125cbb8abbe8 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. 자바제공하는 예외 계층구조 Object 타켓 폴더 생성 해당 class파일 확인 @Cleanup -lombok close를 호출해줌. 알고만있고 try-with -resource.로~ 트랜젝션 스프링 기본 트랜젝션 전략에서... 설정을 확인할필요. ..

    [스터디할래? Java 08]인터페이스

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://www.notion.so/4b0cf3f6ff7549adb2951e27519fc0e6 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. 인터페이스 규약. : 개발기간 단축, 결합도 낮주기, 표준화 구성 -상수 -추상메소드 : 재정의 하여 사용 -디폴트 메소드 jdk8 : 재정의 가능 -스테틱 메소드 jdk8 : 변경불가 구현방법 - 상속 - 익명클래스 다중상속 - 동일 이름 메서드 ..

    [스터디할래? Java 07]패키지

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://kils-log-of-develop.tistory.com/430 https://sangwoobae.github.io/posts/java-livestudy-7week/ 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. package 키워드 패키지 이름은 java로 시작하면안된다. 소스 첫줄, 폴더이름과 패키지 이름이 같아야 FQCN : Fully Qualified Class Name..

    [스터디할래? Java 06]상속

    [스터디할래? Java] 목차 이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다. 스터디할래 링크 >> https://github.com/whiteship/live-study 이필기를 시작으로 공부했습니다 >> https://leemoono.tistory.com/20 여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다. 그외는 같이 출처가 써있습니다. 자바상속 특징 다중상속 금지 : extends A, B X 최상위 클래스 Object 디스패치 프로그램이 어떤 메소드를 호출할 것인가를 결정하여 그것을 실행하는 과정. - 동적 디스패치 - 정적 디스패치 Static Dispatch 정적 디스패치 어떤 메소드 실행될지 컴파일시점에서 알수 있..

    [1028 Spring boot] 에러모음

    Error 1현상@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}등록시 경로지정을 안해줬다는 에러발생.찾은것stackoverflow.com/questions/64822250/illegalstateexception-after-upgrading-web-app-to-spring-boot-2-4결론원인은 스프링에서도 component-scan 을 재지정해줌스프링 부트 그대로 사용하기위해 xml 빈을 안만드려고 다른방법 찾아다니다. 하기 방법발견. @BeanWebServerFactoryCustomizer enableDefaultServlet() {re..

    [1028 Springboot2] Validation Example

    GIT : github.com/miseongshin/diary/tree/forValidationInBlogINDEX 1. @ValitatedCustomerController.java2. Custom Validate AnnotationCustomerSignUpData.javaSameValue.javaSameValueValidator.java3. Validation Annotation, BindingResultCustomerController.javaCustomerSignUpData.javaDiaryValidErrorException.javaDiaryExceptionHandlers.javaValidErrorData.javaValidErrorResultData.java4. Sequences(or order)C..

    [1028 JPA]에러모음

    error 1. 문제 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 검색 에러 발생 시 Eclipse Run Configurations에서 Arguments에 --debug 추가 출처 kamsi76.tistory.com/entry/%EC%8B%9C%EC%9E%91 해결 application.properties 에 설정추가. logging.level.org.springframework= debug logging.level.org.springframework.web= debug error 2. 문제 defined in class path resource..

    Runner 구현

    package com.today10sec.diary.etc; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax...

    [1028 from 스프링 백기선 JPA] 스프링데이터 Common _ 쿼리, 비동기, 도메인, QueryDSL (추후 추가. )

    쿼리 만들기 스프링 데이터 저장소의 메소드 이름으로 쿼리 만드는 방법 메소드 이름을 분석해서 쿼리 만들기 (CREATE) 미리 정의해 둔 쿼리 찾아 사용하기 (USE_DECLARED_QUERY) 미리 정의한 쿼리 찾아보고 없으면 만들기 (CREATE_IF_NOT_FOUND) >> 기본값 @SpringBootApplication //@EnableJpaRepositories(queryLookupStrategy = QueryLookupStrategy.Key.CREATE) @EnableJpaRepositories(queryLookupStrategy = QueryLookupStrategy.Key.CREATE_IF_NOT_FOUND) //@EnableJpaRepositories(queryLookupStrategy ..

    [1028 from 스프링 백기선 JPA] 스프링데이터 Common _ Repository, Interface, null

    스프링 데이터 Common Repository CrudRepository PagingAndSortingRepository 스프링 데이터 JPA JpaRepository -> PagingAndSortingRepository, QueryByExampleExecutor CrudRepository PagingAndSortingRepository -> CrudRepository S save(S var1); Iterable saveAll(Iterable var1); Optional findById(ID var1); boolean existsById(ID var1); Iterable findAll(); Iterable findAllById(Iterable var1); long count(); void deleteBy..

    [1028 from 스프링 백기선 JPA] 스프링데이터 _ JPA 원리, 스프링데이터 모듈

    JpaRepository JpaRepository 인터페이스 매직인터페이스 @Repository가 없어도 빈으로 등록해 줌 public interface DiaryRepository extends JpaRepository { } @EnableJpaRepositories (스프링부트에서 지원, 생략) 컨피규레이션 위에 올림. 스프링부트 시작은 @Import(JpaRepositoriesRegistrar.class) 핵심은 ImportBeanDefinitionRegistrar 인터페이스 : 스프링프레임워크 : 빈을 프로그래밍을 통해 등록가능. public class DiaryRegistrar implements ImportBeanDefinitionRegistrar { @Override public void r..

    [1028 from 스프링 백기선 JPA]Hibernate _ 엔티티, Cascade, Fetch, Query FROM EntityManager

    ERROR1. error creating bean with name 'entitymanagerfactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/hibernatejpaconfiguration.class]: invocation of init method failed; nested exception is org.hibernate.service.spi.serviceexception: unable to create requested service [org.hibernate.engine.jdbc.env.spi.jdbcenvironment] 두번째 서버 올렸을 때 postgresql 서버가 내려가있다는 메시지 ..

    스프링 목차

    스프링 코어 IoC 컨테이너와 빈 Environment, MessageSource, ApplicationEventPublisher, ResourceLoader Validation, 데이터 바인딩. SpEL, AOP,Null-safety

    [1028 FORM 백기선 스프링프레임워크 핵심기술] SpEL, AOP,Null-safety

    스프링목차 SpEL 스브링EL 객체 그래프를 조회, 조작하는 기능 Unified EL과 비슷하지만, 메소드 호출 지원, 문자열템플릿 기능도 제공. OGNL MVEL, JBOss EL 등 자바에서 사용할 수 있는 여러 EL 이 있지만 , SpEL은 모든 스프링 프로젝트 전반에 걸처 사용할 EL로 만듬. 스프링 3.0 부터. ExpressionParser parser = new SpelExpressionParser() StandardEvaluationContext context = new StandardEvaluationContext(bean) >> 함수. 가능. Expression expression = parser.parseExpression(“SpEL 표현식”) String value = express..

    [1028 FORM 백기선 스프링프레임워크 핵심기술] Validation, 데이터 바인딩.

    import static 단축키 1. settings > Editor > General > Auto Import Add unambiguous imports on the fly Optimize imports on the fly (for current project) 두개 체크 후 저장 2. 그리고 status() 뒤 alt + enter 로사용. **() 뒤에서 알트엔터 출처 :hjjungdev.tistory.com/102 스프링목차 스프링 validator org.springframework.validation.Validator; 객체 검증 인터페이스. - supports : 검증할수 있는 클래스인지 확인. public boolean supports(Class clazz){ return Event.cla..

    [1028 FORM 백기선 스프링프레임워크 핵심기술] Environment, MessageSource, ApplicationEventPublisher, ResourceLoader

    스프링목차 Environment 프로파일과 프로퍼티를 다루는 인터페이스 Environment ApplicationContext extends EnvironmentCapable profile 활성화여부 확인 및 설정 프로퍼티 소스 설정 및 프로퍼티 값 가져오기 profile Environment 에서 프로파일 확인 및설정. -클래스- @Configuration @Profile(“test”) @Component @Profile(“test”) -메소드- @Bean @Profile(“test”) 사용 설정추가. -Dspring.profiles.avtive=”test,A,B,...” 테스트 ; ActiveProfiles 설정방법 ! (not) & (and) | (or) Property StandardServlet..

    [1028 FORM 백기선 스프링프레임워크 핵심기술] IoC 컨테이너와 빈

    스프링목차 스프링 IoC Inversion of Control : 제어의 역전: 어떤 객체가 사용하는 의존객체를 직접 만들어 사용하는게 아니라 주입받아 사용. - BeanFactory :스프링 IOC 가장 최상위 인터페이스. - 애플리케이션 컴포넌트 중앙저장소 - 빈설정 소스로 부터 빈 정의 읽어드리고 빈구성 제공. ApplicationContext - BeanFactory, 메시지 소스 처리기능, 이벤트 발생기능, 리소스 로딩기능. 스프링 IoC 컨테이너 빈 인스턴스 생성 의존관계 설정 빈 제공 DI DI(Depedency Injection)의존성 주입. 내부에서 만든 변수를 외부에서 넣어준다. 객체 생성과 사용자의 관심 분리, 가독성과 재사용을 높혀준다. - 광범위한 역제어 테크닉의 한 형태. - 클..

    반응형