728x90

spring 10

[Spring] Spring Boot JPA

JPA란? Java Persistence API (자바 ORM 기술에 대한 API 표준 명세) - 한마디로 ORM을 사용하기 위한 인터페이스를 모아둔 것 이라고 볼 수 있다. - 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. - ORM에 대한 자바 API 규격이며 Hibernate, OpenJPA 등이 JPA를 구현한 구현체 이다. (ORM을 사용하기 위한 인터페이스를 모아둔 것) - Hibernate 이외에도 EcipseLink, DataNucleus, OpenJPA, TopLink 등이 있습니다. ※결국 인터페이스이기 때문에 JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipseLink, DataNucleus 같은 ORM 프레임워크를 사용해야 ..

SPING/Spring 정리 2023.06.28

[Spring] Spring Boot JSP

Spring Boot JSP JSP(Java Server Page)란? JSP는 Java Server Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다. JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. spring으로 jsp view 만들어서 사용할 경우 경로 : JSP : src/main/java/webapp/WEB-INF/view안에 .jsp 파일 JSP 컴파일을 위한 라이브러리 추가 JSP(Java Server Page)도 템플릿 엔진이기 때문에 사용하기 위해서는 별도의 라이브러리가 필요합니다. JSP를 지원하..

SPING/Spring 정리 2023.06.26

[Spring] Spring Boot Maven

Spring Boot Maven Spring Boot로 Maven project 만들기 선택 하면 Spring Boot로 project 만드는 창이 뜬다. Type은 Maven이 기본으로 되어있다. Type을 눌러보면 Maven과 Gradle이 나온다. (Gradle은 따로 설명을 적어둔 포스팅이 있다. 참고) Maven 특징 - Apache Ant 대안으로 만들어진 Apache 라이센스로 배포되는 오픈 소스 소프트웨어 - 자바용 프로젝트 관리 도구 - xml을 이용한 빌드 시스템 - 직접 연결한 라이브러리들과 라이브러리들이 엮여있는 다른 라이브러리들까지 연동되어 관리 Maven과 Gradle 차이점 (대부분 Maven보다 Gradle의 장점을 더 추천한다고한다.) - Gradle : xml로 관리되는 ..

SPING/Spring 정리 2023.06.25

[Spring] Spring 기본 Error Page 변경

Spring 기본 Error Page 변경 ( Spring 기본 Error Page 변경해서 사용하기 ) Spring 기본 Error Page는 아래와 같다. 기본 Error Page 변경이 가능할까? 변경이 가능하다. ㅡ ㅡ ㅡ ㅡ ㅡ ㅡㅡ ㅡ ㅡ src/main/resources 안에 있는 application.properties를 수정해 준다. 를 추가해 주면 기본 Error Page를 사용하지 않고, templates의 에러 페이지를 사용할 수 있다 . application.properties 수정 했다면 templates안에 error.html를 만든다. error.html Error Page 실행 시 기본 Error Page 대신 error.html가 실행된 걸 볼 수 있다. 글자색은 변경이 ..

[Spring] Spting JAXB2 관련 @Annotation(어노테이션)

Spting Xml 관련 @Annotation(어노테이션) @XmlElement @XmlElement란 java-bean 속성을 XML 요소에 매핑합니다. 기본적으로 @XmlRootElement가 클래스 수준에서 선언되면 모든 속성(또는 필드)은 이름이 java-bean 속성 이름인 XML 요소로 처리됩니다[달리 선언되지 않았거나 일시적인 경우 제외] @XmlRootElement @XmlRootElement란 @XmlAccessorType @XmlAccessorType이란 @XmlAccessorType(XmlAccessType.FIELD) @XmlType @XmlType이란 @XmlAttribute @XmlAttribute란 @XmlElement @XmlElement란 @XmlElementWrapper ..

SPING/Spring 정리 2023.06.14

[Spring] Spring @Component뜻과 사용법

@Component @Component 어노테이션을 이용하면 Bean Configuration 파일에 Bean을 따로 등록하지 않아도 사용할 수 있다. 빈 등록자체를 빈 클래스 자체에다가 할 수 있다는 의미이다. ApplicationUser //긁지않은 개발자 @AllArgsConstructor @NoArgsConstructor @Data @Component("applicationUser") public class ApplicationUser { private String name="최고관리자"; } Application //긁지않은 개발자 @AllArgsConstructor @NoArgsConstructor @Data @Component("application") public class Applicat..

[Spring] Spring @ Annotation(어노테이션)

lombok @AllArgsConstructor : 여기에 필드에 쓴 모든생성자만 만들어준다. @NoArgsConstructor : 기본 생성자를 만들어준다. @Data : getter, setter 만들어준다. @Autowired 속성, setter method, constructor(생성자)에서 사용하며 Name, Type에 따라 알아서 Bean을 주입 해준다. 무조건적인 객체에 대한 의존성을 주입시킨다. 이 @annotation을 사용할 시, 스프링이 자동적으로 값을 할당한다. controller 클래스에서 DAO나 Swrvice에 관한 객체들을 주입 시킬 때 많이 사용한다. Name 우순 선위 못찾으면 Type으로 @Controller spring의 Controller를 의미한다. Spring M..

SPING/Spring 정리 2023.06.13

[Spring] Spring 문자 메세지 전송 출력

Spring 문자 메세지 전송 출력( 전송 메세지 글자 출력 ) package 4개 만들어서 작업 interface Messaging.java // 긁지않은 개발자 public interface Messaging{ public void sendMessage(); } MQMessaging.java (문자 전송 메세지) // 긁지않은 개발자 public class MQMessaging implements Messaging{ @Override public void sendMessage(){ System.out.println("실시간 메세지를 전송합니다.") } } SMSMessaging.java (단문 메세지) // 긁지않은 개발자 public class SMSMessaging implements Messag..

[Spring] @Bean, @Configuration 사용방법과 뜻

@Bean 객체 등록하기 스프링 빈과 자바 일반 객체와의 차이점은 없고 스프링 컨테이너에 의해 만들어진 객체를 스프링 빈이라고 부를 뿐이다. (스프링 컨테이너에 등록한 객체들을 빈 이라고 한다.) 1. 컴포넌트 스캔과 자동 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록 [스프링 빈의 어노테이션 종류 ] → @Component ← @Controller @Service↑ @Repository @Configuration & @Bean @Configuration 설정된 클래스의 메서드에서 사용가능 메서드의 리턴 객체가 스프링 빈 객체임을 선언하고, 빈의 이름은 기본적으로 메서드 이름이된다. @Bean(name="name")으로 이름 변경 가능 @Scope를 통해 객체 생성을 조정할 수 있음 @Compon..

SPING/Spring 정리 2023.06.13
728x90