본문 바로가기

WEB34

HTML 문서의 구조, 요소(Element) 개념과 CSS/JS 스크립트 적용 방법 HTML 시작하기 HTML 이란?HTML(Hypertext Markup Language)는 웹페이지가 어떻게 구조화되어 있는지 브라우저로 하여금 알 수 있도록 하는 마크업 언어입니다. HTML은 elements 로 구성되어 있으며, 이들은 적절한 방법으로 나타내고 실행하기 위해 각 컨텐츠의 여러 부분들을 감싸고 마크업 합니다. HTML 문서의 구조 This is my page : 해당 문서가 HTML5 표준을 따르는 문서임을 명시합니다. 웹 브라우저에게 문서의 타입과 버전을 알려주는 역할을 합니다. 이를 통해 브라우저는 문서를 올바르게 렌더링할 수 있게 됩니다. first second third fourth f.. 2024. 6. 28.
Spring JPA Criteria API 소개와 예제 Spring JPA Criteria API 개념과 사용법 Spring Data JPA 동적 쿼리란Spring Data JPA의 동적 쿼리란 런타임 시점에 조건에 따라 동적으로 생성되는 쿼리를 의미합니다. 즉, 고정된 쿼리가 아닌, 입력 파라미터나 조건에 따라 쿼리가 달라지는 것을 말합니다. 동적 쿼리는 다양한 검색 조건이나 필터링 요구사항에 대응하기 위해 사용됩니다.예를 들어, 사용자로부터 여러 검색 조건을 받아 그 조건에 따라 데이터를 필터링하여 조회하는 경우를 생각해볼 수 있습니다. 동적 쿼리를 사용하면 사용자가 입력한 조건에 맞추어 쿼리를 조합할 수 있습니다. Criteria API 소개JPA Criteria API는 JPA 2.0에서 도입된 타입 안전한 쿼리 작성 방법입니다. 이는 SQL 쿼리를 .. 2024. 6. 7.
Spring Data JPA 어노테이션 OneToMany ManyToOne NamedQuery GeneratedValue Spring Data JPA 자주 사용하는 어노테이션 정리 - 1 Spring에서 JPA를 사용하면서 @Entity, @Table, @Column 등등 여러 어노테이션을 접하게 되었는데 이 어노테이션들의 정확한 역할과 추가적으로 설정할수 있는 옵션들에 대해 자세하게 정리할 필요를 느껴서 작성하게 되었습니다. @Entity엔티티 클래스와 DB의 테이블을 매핑하기위해 사용하는 어노테이션 입니다. JPA 기능을 사용하기 위해서 필수적으로 들어가야하며 name 옵션으로 매핑할 DB의 테이블명을 지정할수 있습니다.name 옵션을 사용하지 않을시 클래스 이름으로 테이블과 매핑됩니다. 예제 코드@Entity(name = "user")public class User { ...} @Table@Entity 어노테이션.. 2024. 5. 20.
[Spring] 의존관계 주입(Dependency Injection) 개념과 Bean 중복방지 [Spring] 의존관계 주입(Dependency Injection) 개념과 Bean 중복방지 의존관계 주입(Dependency Injection) 방법 스프링에서 의존관계 주입 방법은 크게 4가지가 있지만 스프링에서 권장하는 방식인 생성자 주입 방식만 잘 알고있으면 됩니다. 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 예제 코드 생성자 주입의 특징은 생성자 호출시점에 단 한 번만 호출되는 것이 보장되고 불변, 필수적인 의존관계에 사용합니다. 단일 생성자만 있다면 @Autowired는 생략할 수 있습니다. @Service public class UserServiceImpl implements UserService { private final UserRepository user.. 2023. 12. 14.
[Spring] @ComponentScan, Bean 객체 관리하기 [Spring] @ComponentScan 개념, Bean 객체 관리하기 Spring ApplicationContext Spring Boot 기반의 웹 애플리케이션을 개발할때 클래스 상단에 여러가지 어노테이션을 설정하는데 @Component, @Service, @Controller 등등 이러한 어노테이션을 등록하는 목적과 메서드에 적용하는 @Bean 어노테이션의 차이점에 대해서 알아보겠습니다. @Component 를 이해하기 전에 먼저 스프링 어플리케이션 컨텍스트(Spring ApplicationContext)에 대한 이해가 필요합니다. Spring ApplicationContext는 Spring이 Bean 객체를 자동으로 관리, 배포할수 있도록 보관하는 장소입니다. SpringBoot에서 Bean객체에.. 2023. 12. 14.
[Spring] @Configuration과 싱글톤 패턴의 관계 싱글톤 패턴 조건 Bean 설정 정보를 구현한 AppConfig 클래스에서 memberRepository 메서드는 MemoryMemberRepository 클래스의 인스턴스를 반환합니다. 그렇다면 memberService, orderService 메서드에서 memberRepository 메서드를 호출할때 마다 새로운 인스턴스를 생성하여 싱글톤 패턴이 안될것 같은데 스프링에서 어떻게 싱글톤 패턴을 유지하는지 알아 보겠습니다. AppConfig.java @Configuration public class AppConfig { @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public D.. 2023. 12. 13.
[Spring] 싱글톤 패턴과 싱글톤 컨테이너 개념 [Spring] 싱글톤 패턴과 싱글톤 컨테이너 개념 싱글톤 컨테이너의 개념 싱글톤 컨테이너란 클래스의 인스턴스가 Java JVM 내의 단 하나만 존재하는 것을 뜻합니다. 웹 애플리케이션은 수많은 클라이언트로부터 서비스 요청을 받는데 만약 서버에서 클라이언트의 요청을 받아 처리할때마다 내부에서 클래스 인스턴스를 생성하게 되면 JVM 메모리의 사용량이 증가하게 되고 서버는 부하를 감당할 수 없게 될 것입니다. 테스트 코드 간단한 테스트 코드를 통해 위의 상황을 확인 해보겠습니다. Appconfig.java @Configuration public class AppConfig { @Bean public MemberRepository getMemberRepository() { return new MemoryMem.. 2023. 12. 13.
[Spring] MongoDB 연동하고 데이터 관리하기 [Spring] MongoDB 연동하고 데이터 관리하기 MongoDB는 NoSQL 데이터베이스중 하나로 여러 기업에서 사용하고 있을정도로 성능이 검증된 데이터베이스입니다. MongoDB의 기본적인 구조는 데이터베이스, 컬렉션, 도큐먼트 단위로 관리됩니다. 일반적인 RDBMS와 비교해보면 다음과 같습니다. MongoDB RDBMS (Oracle, Mysql...) Database Database Collection Table Document Row Spring Boot 기본 설정 의존성 추가 mongodb, spring web을 사용하기위해 의존성을 추가합니다. implementation 'org.springframework.boot:spring-boot-starter-data-mongodb&#39.. 2023. 12. 13.