개발일지349 자바 스프링부트 웹 개발에서 중요한 디자인 패턴과 활용 스프링부트는 자바로 웹 애플리케이션을 개발할 때 널리 사용되는 프레임워크이며, 그 안에서 다양한 디자인 패턴이 활용됩니다. 이러한 디자인 패턴들은 코드의 재사용성, 유지 보수성, 그리고 가독성을 향상시켜주기 때문에 웹 애플리케이션 개발에 있어서 매우 중요합니다. 1. 싱글톤 패턴 (Singleton Pattern)싱글톤 패턴은 애플리케이션 내에서 클래스의 인스턴스를 하나만 생성하도록 보장하는 디자인 패턴입니다. 예를 들어, 데이터베이스 연결 객체를 여러 개 만드는 것은 비효율적이므로, 하나만 만들어서 재사용하고 싶을 때 싱글톤 패턴을 사용합니다.사용 사례: 데이터베이스 연결 풀, 설정 정보 등을 싱글톤으로 구현하여 전체 애플리케이션에서 하나의 인스턴스를 공유합니다.장점: 객체를 하나만 생성하므로 메모리 .. 개발일지/스프링 2024. 10. 29. 스프링 부트에서 JPA 활용 1. JPA란 무엇인가?JPA는 자바 애플리케이션에서 관계형 데이터베이스를 손쉽게 사용할 수 있게 해주는 ORM(Object-Relational Mapping) 기술입니다. 객체지향 프로그래밍 언어인 자바와 관계형 데이터베이스 간의 데이터를 쉽게 전송할 수 있도록 돕습니다.ORM(Object-Relational Mapping): 객체 지향적인 자바 코드와 관계형 데이터베이스 간의 변환을 자동으로 처리합니다. 이를 통해 개발자는 SQL을 직접 작성하지 않아도 데이터베이스와 상호작용할 수 있습니다.엔티티(Entity): JPA에서 데이터베이스 테이블과 매핑되는 자바 클래스를 의미합니다. 이 클래스를 통해 데이터베이스의 레코드를 자바 객체로 쉽게 다룰 수 있습니다.엔티티 매니저(EntityManager): 데.. 개발일지/자바 2024. 10. 29. 옵시디언 설치 https://obsidian.md/ Obsidian - Sharpen your thinkingObsidian is the private and flexible note‑taking app that adapts to the way you think.obsidian.md 1. 설치 2. 설치 파일 실행 3. 언어 변경 4. 새 보관소 생성 (볼트 생성) 볼트 : 하나의 그룹이라고 생각하면 됩니다. 볼트 내에서 관련된 지식들은 공유가 가능하지만 볼트와 볼트의 지식은 공유가 되지가 않습니다. 그 이유는 하나의 볼트마다 설정값이 있기때문에 공유는 불가능합니다. 5. 보관소 이름(볼트 이름), 보관소 위치 (볼트 저장 위치) 설정하기 개발일지/설치 및 셋팅 2024. 5. 13. MyBatis 사용법 [gradle 사용] 1. 의존성 때문에 build.gradle에 추가 plugins { id 'java' id 'war' id 'org.springframework.boot' version '3.2.4' id 'io.spring.dependency-management' version '1.1.4' } group = 'com.koreait' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:.. 개발일지/스프링 2024. 3. 27. STS4에서 JSP Editor 사용하기 STS((Spring Tool Suite)4에서는 JSP Editor를 지원하지 않기 때문에 JSP Editor를 사용하기 위해 Web Developer Tool를 별도로 설치해 주어야 한다. Eclipse Marketplace에서 eclipse web를 검색하고 아래 화면에 보여지는 것 처럼 Eclipse Enterprise Java and Web Developer Tools3.27 를 설치한다. [Install] 버튼 클릭 [Confirm] 버튼을 클릭한다. 라이센스 동의하고 [Finish] 버튼을 클릭한다. 설치가 완료되면 STS를 재구동한다. [Restart Now] 버튼을 클릭한다. STS 재구동 이후에 파일을 생성할 때 Web 항목이 보여지고 JSP을 선택할 수 있다. 개발일지/설치 및 셋팅 2024. 3. 13. 서블릿 Ver.1 (FrontController) package com.spring.controller.common; import java.io.IOException; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; // FrontController // @ ▶ .xml : 서블릿 컨테이너(톰캣, 웹 서버) public class DispatcherServlet extends HttpServlet { private static final long serialVersionUID = 1L;.. 개발일지/스프링 2024. 3. 7. web.xml 서블릿 선언하기 dispatcherServlet com.spring.controller.common.DispatcherServlet dispatcherServlet *.do 개발일지/스프링 2024. 3. 6. 스프링 컨테니어 (application.xml) 설정 (트랜잭션, 템플릿패턴) ※ 주의 ※ 주석은 사용시 제거를 해주는게 좋다 주석이 존재시 가끔 에러를 일으킬수 있기 때문이다. 개발일지/스프링 2024. 3. 5. Spring application.xml 트랜잭션 적용 application.xml 스프링 AOP 트랜잭션 관리 예시 상세 설명 1. 트랜잭션 매니저 빈 설정: 빈 정의: txManager라는 이름의 스프링 빈을 정의합니다. 빈 클래스: DataSourceTransactionManager 클래스를 사용합니다. 이 클래스는 데이터베이스 트랜잭션 관리를 담당합니다. 데이터 소스 종속성 : dataSource 속성은 다른 빈 (dataSource)을 참조합니다. 이 dataSource 빈은 데이터베이스 연결 정보를 제공합니다. 2. 트랜잭션 어드바이스 설정: 어드바이스 정의 : txAdvice라는 AOP 어드바이스 빈을 정의합니다. 트랜잭션 매니저 : transaction-manager 속성은 txManager 빈을 참조하여 트랜잭션 관리 기능을 연결합니다. 트랜.. 개발일지/스프링 2024. 3. 4. Spring AOP (개념, 용어, 원리, 포인트컷 표현식, JoinPoint API) 1. AOP란? Aspect Oriented Programming 의 약자로 관점지향 프로그래밍이라고 부른다. IoC가 낮은 결합도와 관련된 것이라면 AOP 는 높은 응집도와 관련되어 있다. 서비스들의 비즈니스 메소드들은 복잡한 코드로 구성되어있는데, 그 중 핵심 로직은 얼마안되고 대부분은 트랜잭션, 로깅 처리, 인증과 관련된 코드들이 있을 수 있다. 이럴 때 비핵심이지만 꼭 필요하고, 공통화할 수 있는 부분을 따로 빼서(횡단 분리) 관리하는 것이다. 2. AOP 용어 조인포인트(Joinpoint) : 클라이언트가 호출하는 모든 비즈니스 메소드, 조인포인트 중에서 포인트컷되기 때문에 포인트컷의 후보로 생각할 수 있다. 포인트컷(Pointcut) : 특정 조건에 의해 필터링된 조인포인트, 수많은 조인포인트.. 개발일지/스프링 2024. 3. 3. MySql JDBCUitl 설정 (JAVA) package com.spring.biz.common; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class JDBCUtil { static final String driverName="com.mysql.cj.jdbc.Driver"; static final String url="jdbc:mysql://localhost:3306/test"; static final String user="root"; static final String passwd="1234"; public static Connection connect.. 개발일지/설치 및 셋팅 2024. 3. 3. 문자_API(SMS) 쿨에스엠에스 1. https://coolsms.co.kr/ 세상에서 가장 안정적이고 빠른 메시지 발송 플랫폼 - 쿨에스엠에스 손쉬운 결제 전용계좌, 신용카드, 계좌이체 등 국내 결제 뿐만 아니라 해용신용카드로 한번의 카드번호 등록으로 자동충전까지 지원합니다. 전용계좌, 신용카드, 계좌이체 등 다양한 결제 방식 coolsms.co.kr 2. 로그인 하기 3. 4. API KEY 생성하기 5. 본인 인증 확인 6 API KEY 생성 확인 7. 이제 자바에서 api를 사용하기위해 .jar파일이 필요하다 maven, gradle방식으로 사용해도 무관하다 .jar 파일 다운로드 경로 https://mvnrepository.com/artifact/net.nurigo/sdk 8. 제일 위에있는 최신껄 사용 추천 9. 10. ja.. 개발일지/API 2024. 2. 25. 이전 1 2 3 4 5 ··· 30 다음