Spring (9) 썸네일형 리스트형 이론적인 공부 Spring 과 SPring Boot Spring 자바 어플리케이션을 빌드할 수 있는 오픈소스 경량 프레임워크 스프링 프레임워크의 프레임워크 다양한 프레임워크(Struts(?),JSP, Hibernate(?)) 지원 제공 다양한 라이브러리를 Dependencies에 추가하여 사용해야함 , 번거로움 -Struts란? (JSP와 관계된?) 아파치 스트럿츠: 자바 웹 어플리케이션을 개발하기 위한 오픈 소스 프레임워크 Struts는 일종의 중앙 통제 시스템 -작성된 Java 프로그램들이 서로 간의 관계를 struts.xml에 지정해 놓으면 연결된 Java 프로그램들이 Struts의 개입이 필요한 경우 자동으로 연결되어서 동작하는 것 (Java 어플리케이션과 JSP와 같은 자원 간의 관계를 정한다) struts... MyBatis 마이바티스는 스프링에서 데이터베이스 연동을 도와주는 프레임워크. 기존에는 JDBC 연동 과정도 복잡하고 SQL문이 코드내에 섞여 코드가 복잡하기 때문에 편의성을 위해 프레임워크를 이욯한다. MyBatis의 특징 - sql 실행결과를 Map 객체에 매핑을 해준다. - sql 소스 코드가 아닌 XML로 분리하여 작성 - 데이터소스 기능과 트랜잭션 처리기능을 제공 Spring 프레임워크에 Mybatis 설정하기 maven pom.xml 파일에 Spring, DBCP, MyBatis, Spring을 적용한 MyBatis, JDBC 추가하기 org.springframework spring-context 4.3.14.RELEASE org.mybatis mybatis 3.4.0 org.mybatis mybatis-s.. Spring -03 Gradle - 의존성 관리의 다양한 방법을 제공하는 기술 - maven은 xml을 사용, gradle은 groovy라는 언어를 사용 - 오픈소스 빌드 도구 (개발시 자동으로 빌드를 도와주는 프로그램) ORM(Object-Relational Mapping) - 객체와 관계형 DB를 매핑 - 객체를 마치 자바 컬렉션에 저장할 수 있고, 적절한 SQL을 생성해서 DB에 저장 //DB도 자바를 이용하여 사용 Hibernate JPA(Java Persistance API) - 자바의 ORM 기술 표준 - 객체를 DB에 저장하고 관리할 때 개발자가 직접 SQL을 작성하지 않아도 됨 - JPA가 개발자 대신 적절한 SQL을 생성해서 DB에 전달하고 객체를 자동으로 Mapping - 스프링 부트는 ORM 프레임워크(.. post, get 방식 GET 방식 @RestController @RequestMapping("/api") //http://localhost:8888/api public class GetController { //rest 자원요청하면서 api역할 //url호출할 수 있는 기능 //http://localhost:8888/api/getmethod @RequestMapping(method = RequestMethod.GET, path="/getmethod") //언옵테이션 public String getMethod(){ //위아래 붙여서 실행해야함 return "getMethod()호출!"; } //http://localhost:8888/api/getparameter1?userid=apple&userpw=1234 //userid u.. MVC 패턴 M: Model V: View C: Controller Model 어플리케이션의 정보나 데이터, DB등을 나타냄 View 사용자에게 보여지는 화면 UI, 모델로부터 정보를 얻고 표시한다 Controller 데이터와 비즈니스로직 사이의 상호동작을 관리(Model 과 View를 통제) View 와 Model이 직접적인 소통X MVC 패턴의 종류 MVC1 User ----> View ----------> Model ---------->DB (Client) Controller JSP Java Bean View Controller를 JSP에서 담당 (JSP: 유저의 요청을 받음, 응답을 처리) JSP에서 MVC패턴이 모두 이루어 지기 때문에 ,재사용성 떨어지고 읽기도 힘들어짐 (유지보수하기 어려움) JSP : H.. Mapping Mapping? 1.해당 값이 다른 값을 가리키도록 하는것.. ex) Localhost:9090/article라는 페이지를 만들었다고 가정했을때 URL이 그대로 나타나기 때문에 보안상 취약할 수 있다 그래서 article --> ae로 바꿀수 있게 하는것 ae로 바꿈으로써 보안성을 높일수 있다. 2.주소를 간결하게 해주는것 매핑하는 방법 사용하는 언어마다 매핑하는 방법이 다르다?? -JSP에서 사용하는 경우 web.xml 파일에서 매핑할 수 있다. 양식 ??? HelloWorld com.javalec.HelloWorld HelloWorld /Hw -Java어노테이션 사용 @WebServlet("HWorld") :매핑명(Hworld)을 java소스에 직접 입력 자바 어노테이션을 활용하여 자바안에서 이렇게 .. Spring @RestController @RequestMapping("/api") //http://localhost:8888/api public class GetController { //rest 자원요청하면서 api역할 //url호출할 수 있는 기능 //http://localhost:8888/api/getmethod Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller 와 @RestController가 있다. 전통 @Controller 와 @RestController의 차이점 HTTP Response Boby가 생성되는 방식 @Controller: 주로 View를 반환하기 위해 사용한다, -Client는 URL 형식으로 웹 서비스에 요청을 보낸다. - Controller는 요청을 처리한 후.. day4 entity --> 변수가 선언된 부분만 저장 enum --> Enum 클래스 - 열거체를 비교할 때 실제 값과 타입까지 체크할 수 있는 클래스 enum 열거체명{ 이름아무거나{값1, 값2, 값3 ...}, private 타입 값1; private 타입 값2; private 타입 값3; } Query method find...By: findUserByUserid,findByUserid (메소드명) //... : By 뒤에는 필드 By앞에 아무거나가능 안넣어도됨 read...By필드:readByUserid get...By필드:getByUserid query...By필드:queryByUserid search...By필드:searchByUserid stream...By필드:streamByUserid 이전 1 2 다음