본문 바로가기

dev151

[DB/MySQL] Mysql 설치 Mysql 설치 간에 아주 힘들었다. 설치 간에 다 ~ 잘 진행되다가 마지막 configuration에서 starting and server 에서 무한 로딩이 걸려서 진행이 안되서 [서비스]에 가서 Mysql80 직접 실행시키니까 "서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 더른 서비스 또는 프로그램에서 사용되지 않으면 자동을 중지됩니다." 라고 떴는데 결국에 해결하긴 했다. 일단 구글링해서 모든 Mysql 완전 삭제를 찾아보고 따라했다. 그리고 내가 설치하려고 했던 버전에 8.!!27 인가 그랬는데 (전버전) --> 그냥 최신버전으로 다운로드 했더니 발생했던 문제는 전혀 발생하지 않고 잘 설치되었다. 아래는 정상적으로 실행된 서버를 볼 수 있다. 2022. 6. 23.
[Spring] Di 따라하기 4 지금 까지 객체를 생성하여 Map에 넣는 작업을 여러 가지 방법으로 진행했었는데 1. Properties File를 통해서 2. @Component 어노테이션을 통해서 추가적으로 xml 파일을 통해서 도 객체를 생성할수 있다. 이제부터 이렇게 생성하는 객체를 Bean이라고 칭하도록 하겠다. >>config.xml 에 을 통해서 객체를 생성할 수 있다. 이때 id는 Map의 key 값에 해당되고 class는 Map의 Value값에 해당이 된다. 추가적으로 라는 태그는 해당 Bean이 가지는 속성으로 매개변수라고 생각하면된다. 해당 Bean이 속성을 갖는데 이 속성이 일반 변수면 value값을 참조 변수면 ref 를 써준다. 또한 추가 적으로 Scope는 객체의 범위를 말하는 것으로 Singleton 으로 .. 2022. 6. 22.
[Spring] Di 따라하기 3 이전 1~2 까지는 Properties 객체를 통해서 config.xml 파일을 읽어와서 Map에 (K,V) 값으로 객체를 저장한 것을 getBean(String key) 또는 getBean(Class clazz) 를 통해서 가지고 와서 사용했는데 이번에는 @Component를 통해서 Map에 (K , V) 로 저장해 보도록 하겠다. 또한 Map에 저장된 객체를 통해서 해당 @Autowied / @Resource가 붙은 객체에 자동으로 주입해보도록 하겠다. >>> 1. @Component 를 통해서 Map에 객체 저장하기 -- 아래의 코드중에 doComponentScan() 함수를 집중적으로 보자면 -- ClassPath를 통해서 ClassLoader를 받아서 해당 패키지 내의 모든 클래스를 Set에 저.. 2022. 6. 22.
[Spring] Di 따라하기 2 class House{} class WoodHouse extends House{} class BrickHouse extends House{} class Window{} public class DiTest2 { Map map; public DiTest2() throws Exception{ // 지금 까지는 getObject(String key)라는 메서드를 통해서 // key 값을 받은 value에 해당하는 객체를 생성하여 리턴하였는데 // 이제부터는 Properties 파일에 정의되어 있는 모든 Class를 Map에 // 넣은 상태로 꺼내 쓰는 형식으로 만들어 보겠다. try { Properties p = new Properties(); p.load(new FileReader("HouseConfig.tx.. 2022. 6. 22.
[Spring] Di 따라하기 1 class House{} class WoodHouse extends House{} class BrickHouse extends House{} class Window{} main{ // DI 따라하기 1단계 House h = new House(); //House 라는 객체를 사용하다가 WoodHouse 라는 객체를 //사용 하려면 2부분 모두 수정해야 한다. WoodHouse wh = new WoodHouse(); //이러면 비지니스 로직을 수정해야 하는데 //이를 수정하기 위해 다음 단계로는 다형성을 이용하게 된다. //그러면 1부분만 수정을 하면된다. House wh2 = new WoodHouse(); House wh3 = new BrickHouse(); System.out.println("h = " .. 2022. 6. 22.
[Intellij] 자주쓰는 Intellij 단축키 Alt + 0~9 >>Alt + 1 : Project Explorer 열기 닫기 Shift + Shift >> 전체 검색창 열기 Alt + Enter >> 추가되지 않은 Import 추가 Ctrl + Alt + O >> 사용하지 않은 Import 삭제 Ctrl + d >> 한줄 복사 Ctrl + y >> 한줄 삭제 Ctrl + Alt + I >> 자동 들여쓰기 Ctrl + Alt + L >> 자동 들여쓰기 + 괄호 정리 Ctrl + Shift + Enter >> 자동완성 Alt + Insert >> 생성자 생성 sout >> System.out.println(); soutv >> 변수.soutv -> System.out.println("변수 : " + 변수); Ctrl + Shift + Up/Down >.. 2022. 6. 20.
[Intellij] Intellij - import 방법 / 톰캣 log 깨짐 현상 복구 >> 1. Intellij 의 기본 Repository 는 사용자 이름 > IdeaProjects 에 프로젝트가 생성된다. >> 2. import 하고자 하는 파일을 선택하여 Ok 를 누르고 > Maven Project로 만들어야 한다. >>3. Configuration 추가하기 >> Tomcat 설정 >> Deployment > artifact 추가 > 프로젝트 선택 - war(압축된 상태로 배포) / war exploded (압축 풀린상태로 배포) >> 하단의 Application context 경로 설정 >> library 추가하기 >> encoding --> x-windows-949 변경후 한글깨짐 수정됨 >> STS 에서 EXPORT한 파일을 Intellij 에서 Import 해봤다. =====.. 2022. 6. 20.
[Spring] Export / Import Spring 프로젝트 Export 방법 1> Export > General > Archive File > To archive File 경로 설정 후 finish' 2> 설정한 경로에 zip 파일 생성 Import 방법 1> Import > Existing Projects into Workspace 2> select archive File > zip 파일을 선택 2022. 6. 20.
[Spring] form:form 태그 공부 form:form 태그란 >> Spring에서 제공해주는 태그라이브러리로 아래의 태그라이브러리를 import 해주면 된다. 사용방법으론. >> 아래와 같은 형태가 기본형태이다. >> "action 속성"을 명시하지 않으면 현재 페이지의 URL을 Action 속성값으로 가진다. >> method의 default는 POST 방식이다. ex) 현재 페이지의 URL이 " localhost/ch2/register/add " 인경우 POST 요청을 보내면 " localhost/ch2/register/add " 동일한 주소의 POST 방식으로 요청이 들어간다. /register/add 요청이 GET 방식일때는 윗부분에 맵핑되고. /register/add 요청이 POST 방식일떄는 아래부분에 맵핑이된다. 추가 적으로 .. 2022. 6. 19.
[Spring] 데이터 검증 데이터 검증 >> 데이터 검증은 GET/POST 방식으로 요청이 온데이터를 >> WebDataBinder에서 ①타입변환이 끝난 후에 해당 데이터가 정당한 데이터 인지 확인하는 단계로 ②데이터 검증 단계를 거친다. 지금까지 데이터 검증은 Controller에서 직접 처리하는 방식을 사용했었다. 하지만 이것은 검증이라는 관심사를 분리하여 사용해 보겠다. 검증의 종류를 따지자면 많은 검증이 있겠지만 범위로 나눠보자 Controller 안에서 사용하는 검증(Valid) 또는 전 Controller에서사용하는 검증이 있다. 우선 Controller안에서 사용하는 검증에 대해서 알아보자 우선 검증(Valid) 관심사를 분리하기 위하여 검증을 위한 클래스를 생성해 준다. 검증을 위한 클래스는Validator inte.. 2022. 6. 18.