WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(((HttpServletRequest) request).getSession().getServletContext());

UserDAO userDao = (UserDAO)wac.getBean("userDaoName");

빈객체 가져오기이긴한데, DAO 쓰는 용도가 되었다.

상용에서 UTIL관련 파일을 수정해야 하는데 일반 JAVA파일이라 애먹어서 찾아보니 다음과 같은 방법이 있다.

 

request까지 날려줘야 해서 수정을 좀 해야 하지만 모든 코드를 수정하는 것보단 request추가가 그나마 해결책인거같다.

 

 

 

출처?: 특정 JAVA , JSP 에서 Bean 객체 가져오기 | spring (tistory.com)

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

문제: ./gradlew build를 하려고 했는데

Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)' 

에러가 터짐.

 

 

1. java home 설정 보기

 

Setting에서 java home으로 검색후 json을 연다

 

{
    "java.home": "C:\\Program Files\\ojdkbuild\\java-11-openjdk-11.0.7-1", //확장자 적용 jdk 경로
    "java.requirements.JDK11Warning": false,
    "java.configuration.checkProjectSettingsExclusions": false,
    "git.ignoreMissingGitWarning": true,
    "workbench.editor.enablePreview": false,
    "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:\"c:\\Users\\ACID\\.vscode\\extensions\\gabrielbb.vscode-lombok-1.0.1\\server\\lombok.jar\"",
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "java.semanticHighlighting.enabled": true,
    "git.autofetch": true,
    "java.configuration.runtimes": [
        {
            "name": "JavaSE-1.8",
            "path": "C:\\Program Files\\ojdkbuild\\java-1.8.0-openjdk-1.8.0.252-2",
            "default":  false
          }
    ],
    "java.project.importOnFirstTimeStartup": "automatic",
    "java.refactor.renameFromFileExplorer": "autoApply",
    "workbench.startupEditor": "newUntitledFile",
    "concourse.ls.java.home": "",
    "guides.enabled": false,
    "editor.fontSize": 15
    }

이런식으로 java home 설정이 제대로 되어 있어야 한다

 

2. gradle 설정

 

sourceCompatibility = '11'

본인은 11버전을 쓰는데 이게 되어 있어야 한다.

 

3. 환경변수

 

본인의 경우 이게 문제였는데 환경변수가 꼬여있어서 1.8버전을 java에서 인식중이었다.

 

환경변수를 건드려서 제대로 설정해 주니

 

제대로 인식하면서 문제가 해결되었다.

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

크롬에서는 그럴일이 없지만 팝업링크 Internet Explorer에서는 클릭시 팝업창은 열렸지만 메인화면 아래에서 열려서 

안열렸다고 착각하게 만드는 일이 있다.

이를 방지하는 JavaScript 테그이다.

 

var pop = window.open(theURL,winName,features);
pop.focus();

pop.focus() 에서 강제로 창을 위로 띄워준다.

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

실무에서 트랜잭션을 써야 할 일이 있었는데 문제는 finally가 붙으면 Transaction이 동작 하지 않는 점이 있었다.

fanally에서 msg를 return하는 형태였는데 불가능해서 찾아보니 Exception에 msg를 넣으면 될 문제였다.

String msg = x + "값에서 에러가 발생했습니다.";
throw new Exception(msg);

Exception을 발생시키는 건 다들 알테고, 거기다가 msg를 넣는다.

 e.printStackTrace();
 Map <String, Object> result = new HashMap<>();
 result.put("flag" , "N");
 result.put("msg", e.getMessage());
 return new ResponseEntity<>(result , HttpStatus.OK);

컨트롤러에서 Map에 값을 넣고 return 해주면 끝. 

 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

업로드 용량이 nginx에서 늘려도 안되는 이유를 찾다보니 다음과 같이 적어야 한다

application.yaml 에 아래를 넣는다.

spring:
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB

출처: tomcat - How to set the max size of upload file - Stack Overflow

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

 

후생연금 반환하기까지 과정을 담은 글이다.

 

원래는 출국전에 신청을 해야 했었는데 다른 일에 치여서 그러지 못했다.

거의 급하게 출국하다 싶이 한거니까..

잊고 있다가 2년이 지나기 전에 해야해서 적당한 시점에서 했다.

 

 

신청에 필요한 문서는 다음을 참고했다.

 - 은행증명서(계좌잔고증명서)

 - 재류카드 앞뒷면

 - 여권의 사본과 마지막 귀국일이 표시된 면

 - 연금수첩

 

우선 신청서를 다운로드 해야 하는데

 

www.nenkin.go.jp/international/japanese-system/withdrawalpayment/payment.html

 

https://www.nenkin.go.jp/international/japanese-system/withdrawalpayment/payment.html

 

www.nenkin.go.jp

여기서 다운로드 한다 한국어 신청서를 받아서 13장 14장만 인쇄를 했다.

 

신청을 SBJ은행으로 하는 방법도 있었는데 증명서가 아닌 관계로(통장복사를 해도 된다던데)

일단 가지고 있는 외화통장의 우리은행에서 계좌잔고증명서를 받았다.

2000원 수수료가 들었다.

 

은행지점 정보는 영문페이지가 있어서 거기서 캡쳐를 해서 인쇄했다.

 

그리고 연금수첩을 준비했고, 여권의 비자부분과 여권정보의 복사본, 재류카드 복사본을 만들었다.

 

 

 

이정도 인쇄를 했다.

 

 

우체국에서는 원래 국제등기우편...으로 보내려 했지만

코로나 시국이라 중단되었다고 한다.

보내려면 EMS밖에 안된다고 한다.

 

EMS는 20000 + 380원 정도 들었다.

 

 

 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

const [inputs, setInputs] = useState({
    isloading: true,
    movies: [], 
  });

  const {
    isloading, 
    movies,
  }  = inputs

위에서처럼 inputs에 선언한 값들을 그대로 적은후

 

<div>
      안녕하세용? {isloading? 'true': false}
      <div>
        {movies.map((movieInfo) => {
          console.log(movieInfo);
          return <Movie rnum={movieInfo.rnum} movieNm={movieInfo.movieNm} salesShare={movieInfo.salesShare} openDt={movieInfo.openDt}/>
        })}
      </div>
    </div>

 

다음과 같이 변수명을 {} 로 부른다 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

프로젝트 마무리때 주로 쓰게된다.

 

SELECT 
	A.Table_Name,
	C.Value Table_Description, 
	A.Column_Name, 
	A.Data_Type, 
	isNULL(
		CAST(A.Character_Maximum_Length as VARCHAR), CAST(A.Numeric_Precision as VARCHAR) + ',' + CAST(A.Numeric_Scale as VARCHAR)
	) Column_Length, 
	A.Column_Default, 
	CASE WHEN A.Is_Nullable = 'YES' THEN 'Y' ELSE 'N' END Is_Nullable, 
	B.value Colum_Description 
FROM INFORMATION_SCHEMA.ColumnS A 
	LEFT JOIN SYS.EXTENDED_PROPERTIES B 
		ON B.Major_Id = OBJECT_ID(A.Table_Name) 
		AND B.Minor_Id = A.Ordinal_Position 
	LEFT JOIN ( SELECT OBJECT_ID(Objname) Table_Id,Value FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'user','dbo','Table',NULL, NULL, NULL) ) c 
		ON C.Table_id = OBJECT_ID(A.Table_Name)
WHERE A.Table_Name = '테이블명' 
ORDER BY A.Table_Name, A.Ordinal_Position

 

출처 : rocabilly.tistory.com/60

'프로그래밍 > DB' 카테고리의 다른 글

mssql 쿼리명세서 생성  (0) 2020.11.16
mssql에서 duplucate on 변환방법  (0) 2020.09.23
mysql 버전확인 (쿼리 )  (0) 2020.07.16
오라클 글자 파싱  (0) 2019.09.17
주민등록번호 오라클 검사 처리  (0) 2019.09.10
오라클에서 숫자만 추출/ 문자만 추출  (0) 2019.09.10
블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

@Trasaction(rollbackFor = {Exception.class}

을 써주면 된다.

 

catch

 

자세한 설명은 : bbchu.tistory.com/85 참조

 

참고로 Exception을 여러개 지정할수도 있다

@Transactional(rollbackFor = {Exception.class, BadSqlGrammarException.class})

Exception의 하위 항목에 대해서는 아래의 사진 참조

 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

RIGHT('000' + CONVERT(NVARCHAR, idx), 3) AS selfDefineBlock

 

idx에 컬럼값을 집어넣으면 된다.

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요