1. final 클래스 final class FinalClass { } public class FinalTest extends FinalClass { //컴파일 에러 } final이 클래스 앞에 사용되면 다른 클래스가 상속할 수 없다. final class FinalClass extends FinalClass{ } public class FinalTest { } 반대로, final 클래스가 다른 클래스는 상속할 수 있다. 2. final 메소드 메소드에 final이 붙게 되면 재정의(Overriding)을 할 수 없다. public class FinalTest extends FinalClass { public void test() { // 컴파일 에러, 'test()' cannot override 'te..
1. String, String에서 + 연산을 하면 안되는 이유 Java를 사용하면서 자주 사용하는 String은 Immutable 특성을 가지고 있습니다. Immutable 이란 변경할 수 없는, 불변이라는 뜻으로 String의 값은 한번 생성이 되면 할당된 공간이 변하지 않는다는 특성이 있습니다. 그러면 아래와 같이 + 연산을 했을 때, 합쳐지는 것은 어떻게 처리 되는 것일까요? String str = "a"; str += "b"; 위 코드 처럼 + 연산을 하면 메모리를 할당받아 새로운 String 클래스 객체를 만들어서 문자열을 나타냅니다. 그리고 이전에 참조하던 "a"는 쓰레기가 되고 나중에 가비지 컬렉터에 의해 제거됩니다. 이러한 이유 때문에, 시간과 메모리가 많이 소모됩니다. 연산을 많이 할수..
1. $ java -jar SpringbootSample.jar 위와 같이 실행하면 ssh 연결이 끊어질때 프로그램도 같이 종료된다. 2. $ java -jar SpringbootSample.jar & 백그라운드로 실행은 되지만 실행한 사용자가 로그아웃하면 프로그램은 역시 종료된다. 3. $ nohup java -jar SpringbootSample.jar & 사용자가 로그아웃해도 백그라운드로 실행된다. 3번으로 하면 실행은 되지만 프로그램 종료를 자동적으로 하기가 어렵다. 종료를 하기 위해서는 pid 를 알아야한다. 따라서 쉘스크립트를 작성하여 서비스에 등록하는 방법으로 문제를 최종적으로 해결하였다. 4. 쉘스크립트 작성 후 서비스 등록 /etc/init.d/webService 로 등록하여 servic..
우선 Maven과 Gradle을 간략하게 알아보자. 1.Maven Apache의 이름 아래 2004년 출시되었다. Ant를 사용하던 개발자들의 불편함을 해소 + 부가기능 추가 Maven은 무엇인가? 빌드를 쉽게 할 수 있도록 해준다. pom.xml을 이용한 정형화된 빌드 시스템 뛰어난 프로젝트 정보 제공 Change log document created directly from source control Cross referenced sources Mailing lists Dependency list Unit test reports including coverage 개발 가이드 라인 제공 테스트 소스 코드를 별도의 병렬 소스 트리에 보관 테스트 케이스 명명 규칙을 사용하여 테스트 위치 및 실행 테스트 케..
Springboot를 활용하여 공부하고 있는 중 의존성 주입을 할때, Field, Setter Injection은 좋지 않다는 것을 알게 되었다. 왜 그런지 찾아보았고 정리해본다. 우선, 의존성 주입의 종류로는 Field, Setter, Constructor이 있다. 1. 의존성 주입의 종류 1.Field Injection @Service public class MemberService{ @Autowired private MemberRepository memberRepository; } 2.Setter Injection @Service public class MemberService{ private MemberRepository memberRepository; @Autowired public void s..
Lombok 사용 시 @JsonIgnore 동작안하는 문제 해결 Lombok 1.18.10을 사용하여 공부를 하는 중 @JsonIgnore가 동작안하는 이슈가 발생했었고, 이를 해결한 방법을 찾아봤습니다. 1. Problem 유저 정보를 전달하는 API에서 password 필드가 포함되어 있어, 이를 제외하기 위해 @JsonIgnore 애노테이션을 사용했습니다. @Entity @Getter @Setter public class ... @JsonIgnore private String password; ... 하지만 @JsonIgnore 애노테이션이 동작하지 않아 Json 결과에 계속 출력되는 문제가 발생했었습니다. 2. Solution 이를 해결하기 위해 열심히 검색한 결과 @JsonProperty 애노테..
- Total
- Today
- Yesterday
- lombok
- springboot
- AOP
- 스프링
- java
- jar 실행
- apache
- IoC
- 애플리케이션컨텍스트
- 템플릿
- EmbededTomcat
- Spring
- 자바
- 413
- final
- gradle
- 빌드도구
- mod_jk
- 스프링프레임워크
- stringbuffer
- StringBuilder
- 연동
- 쉘스크립트
- 빈팩토리
- JsonProperty
- 토비의스프링
- shellscript
- DI
- Tomcat
- JsonIgnore
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |