[DAY58] Spring 시작, 리눅스 보충

NA YE SOM·2023년 9월 25일


git


-> 서버는 tomcat을 추가했을때 만들어지는 것

-> dashboard 지우기


-> 아파치 : tomcat 9.0 추가하기









-> xml은 인코딩이 되어있어서 안해도 됨

들여쓰기 setting

  • 들여쓰기 : 4칸









    -> 아무것도 안해도 글씨가 많이 찍힘(console.창)

-> 사용할 build tool을 기본적으로 maven으로 사용함 (최종적으로 결과물을 만들때 하나의 파일로 만들어냄 -> build tool로 maven을 사용한다)

우리는 maven build tool을 쓸 것 !

  1. maven(메이븐)
  2. gradle(그레이들)

project만들기


Spirng legacy project


: MVC패턴

-> project공부하다보면 필요한 정보 내려받는 것을 할 수 없음
(동작도 안함)



-> topLevelPackage만드는것 연속해서 적기



-> 프로젝트 나올때마다 번호만 바꾸기

★★★ 중요함!!(contextPath가 동일한 project는 만들수없음)


-> 자르 파일을 인터넷에서 내려받아서 pc에 저장함(한번 받았던 자르는 또 내려받지는 않음, 처음에는 오래 걸림)
-> 다운로드 자르파일 받고 있다는 이야기임

어디다가 다운로드 받았는가?




-> 단위테스트 했던 junit


-> spring이 jar 받아둠

springframework 동작을 위한 수많은 자르 파일이 있음






->usb에 보관해두고 잘못된 자르 파일 내려받기 하면 되는데 새로 내려받는쪽으로 하기

-> 다 지우고 다시 sts켜는 순간
-> 자르가 없으면 다시 다운로드 받음(project에 적혀있는 파일을 보고 다운로드 받음)


-> 다시 sts켜면 building 점점 오래걸림
(progress bar가 뭔가 하고 있으면 아무것도 하지 말기)
-> 내려받고 있을때 project 만들고 있으면 안됨


-> 그냥 double click해서 열기

-> application 만들고 최종 결과 만들때 war파일 사용하기

-> 뒤에 패치번호는 큰 의미 x





-> ctrl + s 누르면 바뀐 속성으로 알아서 다운로드 된다.




-> 메이븐 중앙저장소



-> 많은것들이 자동으로 다운로드 되었군



-> dependencies라는 곳에 dependency가 모여있음




-> 필수로 해야함 (jar문제발생시)

-> junit쓸게 하면 hamcrest를 자동으로 가져옴(종속관계)

필요한 자르가 또다른 자르를 요구할때 -> 알아서 땡겨옴

-> 자동으로 내려받아주는 새로운 buidtool 시작함


IoC : Inversion of controller(new를 개발자가 하지 않고 (객체를 만들지 않고))

제어의 버전을 바꾼다.










5.3버전(스프링) -> 패치번호는 상관 x

*servlet



-> foam xml 안에다가넣음
(dependency 는 필요한 것 찾아서 복붙하기!)


-> dependency는 손으로 쓰는것이 아니라 복붙하면 똑같음

앞으로 필요한 dependency는 maven repository 가서 복붙하기!!

ojdbc8 자르 찾아보기!!


-> 많이 쓰는것 선정하기




-> 경로 (group id부터)

-> m2 repository 부터 시작!!








-> new .. 하면 생성되는것
(spring이 만들어두면 우리는 가져다 쓰면됨)

-> spring은 우리가 적어둔 코드를 보고 객체를 만듦
(우리는 가져다 쓴다)

제어의 전

new ~~해서 불러다쓰는것 x : 이걸 사용해서 쓰면 spring이 아님-> spring tool을 가장한 jsp를 씀(객체는 new하지 않는다)

dao 만들때 : singleton 패턴 만들때: 알아서 spring이 signleton으로 만들어놓음(우리는 가져다가 쓰면 된다)

-> springcode가 발전하면 private ~~ dao 선언만 했음 ( 아무것도 없지만 , nullpointexception 발생하지 않음)
-> 선언하고 사용하고 있는 코드 형태로 바뀜

controller에서 선언했던 것 service => serviceImpl 했었지만 spring에서는 service선언만 있고 가져다가쓸수 있음

-> spring의 객체 가져다 쓰는법
-> spring에게 new해서 가지고있으라고

1. xml 이용

2. java코드 이용

getbean : 가져다 쓰는 메소드 이름


-> controller 지우기(사용x)

spring 코드 = 자바코드(자바영역에서 짜는것)









-> ctx (context줄여서) 라고도 함


-> 그냥 finish
어떤것을 체크하냐에 따라서 사용할 수 있는 기능이 차이가 생김

-> beans태그 벗어나면 x

-> 객체를 만들기 위해서 class 필요

class


xml 로 다시 : app-context로

bean : 객체


자바로 다시 스프링코드 넣어서 확인해야함



-> 대부분 사용한 spring 코드 이름은 길다
-> spring이 나중에 나와서 어지간한 이름은 단어가 3~5개짜리임


AbstractApplicationContext


-> 그렇게 중요하지 않음(오늘만 쓸것)(외우지x)

-> xml을 읽고 bean을 만듦





★xml에 bean태그를 만들어두면 spring이 알아서 new를 해둔다.




-> bean 태그 내부에 들어가는 태그들을 어떻게 만들건지에 !!

D:\GDJ69\lib

리눅스가면 우클릭으로

안바뀐 사람 드라이브 다름





-> 경로에 공백 x 한글 x



lombak 설치만 하고 jar는 없음(form xml에 사용하는 depedency는 없음)


-> lombok 조회-> dependency 필요함




-> 저장하면 lombok도 내려받아서 쓸 수 있는 상태가 됨

계산기 들고다니는 사람
-> 필드 3개(이름,나이, 계산기)


-> class를 java bean이라고 함(데이터를 저장할 수있는 객체 : DTO라고 부른적도 있음)
-> 네트워크에서 돌아다닐때는 BEAN
-> DB로 돌아다닐때 : DTO
-> 일반적 : valueobject 등등

생성자, getter, setter 넣어주기

사람 2명 정도 만들기!

scope 생략



★★★(잘정리하기!)

ref : bean 만들어두기!!


2. 필드를 이용한 생성자









1.springbean configuration 파일을 추가함

2. 나중에 web을 쓸때는 다른 장소가 있음 : xml 안해도됨(web 영역에 추가되어있음)

리눅스

학원 서버에 oracle, tomcat, docker 설치해야함
-> 우분투 운영체제에 대해서 알고있어야 함
-> 프로그램을 container로 제공하는게 있음









-> 약식으로 넣을 수 있음


-> 한줄이 다름(새로 생긴 줄)




-> class와 id의 속성으로 넣을 수 있음








Collection












-> 향상 for문




-> 원래는 이렇게

-> 홈페이지 주소 거꾸로 쓰고 그게 group id임




-> 동일




-> 작업 끝나면 maven update하기










-> 원래 이렇게 길어도됨


->지금은 bean 태그 방법을 공부하고있음


-> 이미 만들어져있어서 그쪽에서 bean 만들기


모든 데이터베이스 선행작업 : connection 임

















-> bean으로 만들어두는애들 : 내용이 잘 안바뀌는애들





-> 할필요 x


-> 각각하고싶은 작업을 dao로 만들어두기


메소드 호출하려면 객체 만들어야 한다
객체 만들기는 spring이 한다
우리는 가져다 씀











-> 객체 만들려면 xml 열어야야함

-> sigleton 적지 않아도 디폴트값

dao를 부르는 것 : 종속계층 이름(Service) - Service 계층

controller -> service -> dao 부름


-> interface안함



필드값 채우려면 생성자나 setter 필요함



-> 이미 만들어진 객체는 ref로 값을 준다

> ★★★실전으로 써도 가능한 구조 ↑

main에서 service호출하고 마무리

★★★

-> 실제로 db랑 연결되는 코드 조합

GD 접속 성공
add() 호출




-> close생략가능

close가 돌지 못해서 생긴 문제

profile
개발자 velog

0개의 댓글