JAVA46 [Spring] .xml (설정파일)의 구조 : 이 부분은 com.spring.biz 패키지 및 하위 패키지에서 @Component, @Service, @Repository, @Controller 등과 같은 어노테이션이 지정된 클래스들을 스캔하여 스프링 빈으로 등록한다. : LogAdvice 클래스를 스프링 빈으로 등록하는 부분이니다. 이 빈은 AOP에서 Advice 역할을 수행한다. : AOP 설정을 시작하는 태그이다 : aPointcut이라는 이름의 포인트컷을 정의하는 부분이다. 이 포인트컷은 com.spring.biz 패키지 및 하위 패키지에서 *Impl로 끝나는 모든 클래스의 모든 메서드를 대상으로 한다. : logAdvice 빈을 참조하는 Aspect를 정의하는 부분이다. 이 Aspect는 Advice와 Pointcut을 결합하여 Advi.. JAVA/Practice 2024. 2. 29. [Spring] 의존 주입 (DI) 🔍 의존 주입 (Dependency Injection) 의존 주입은 객체 간의 의존 관계를 외부에서 주입하는 디자인 패턴이다. 이는 객체가 직접 필요한 의존성을 생성하거나 참조하지 않고, 외부에서 필요한 의존성을 주입받아 사용함으로써 결합도를 낮추고 응집도를 높인다. 스프링 프레임워크에서는 주로 생성자 주입, Setter 주입, 필드 주입 등의 방식으로 의존성을 주입한다. 이를 통해 코드의 테스트 용이성과 유지 보수성을 향상시킬 수 있다. 🔍 생성자 주입(Constructor Injection) 생성자 주입은 객체 생성 시 생성자를 통해 의존성을 주입하는 방식이다. 이 방식은 스프링에서 가장 많이 사용되며, 빈을 생성하는 시점에 모든 의존성이 해결된다. public class Car { private E.. JAVA/Theory 2024. 2. 29. [Exception] NosuchBeanDefinitionException 의존 주입을 하지 않아서 발생하는 오류 NullPointerException 급으로 많이 보게 된다는.... JAVA/Exception 2024. 2. 28. [Exception] BeanDefinitionStoreException 설정 파일의 기본 경로가 src/main/resouses이다. 하지만 해당 경로에 .xml 파일이 존재하지 않기 때문에 발생하는 예외 JAVA/Exception 2024. 2. 28. Spring 프레임워크 Spring IoC와 AOP를 지원하는 경량의 프레임워크 낮은 결합도와 높은 응집도를 가지는 코드 : 제어의 역행. 즉, new를 개발자가 하지 않고 컨테이너가 수행하는 기능과 관점지향 프로그래밍. 즉, 공통로직을 별도의 클래스로 모듈화하여 올바른 시기에 호출하는 기능을 수행하는, 경량의 POJO를 다루는 컨테이너를 제공하는 프레임워크 IoC (Inversion of Control) IoC가 뭔가요? : 코드에서 new를 제거하는 것 IoC는 제어의 역행으로 코드에서 new를 제거하고 컨테이너를 통해 제어를 수행한다. ex) 서블릿 컨테이너 (웹 서버, 톰캣) 서블릿 클래스만 생성 가능했음 FrontController 비동기처리 로직 클래스 컨테이너란? 객체를 생성 객체를 관리하는 주체 관리 == 호출 .. JAVA/Theory 2024. 2. 27. [Java] request 객체 🔍 request request 객체는 서블릿 컨테이너에서 클라이언트의 HTTP 요청 정보를 담고 있는 Java 객체이다. 이 객체는 클라이언트가 전송한 데이터, 요청 헤더, 쿠키, URL, 세션 등과 같은 다양한 정보를 제공하여 서버 측에서 요청을 처리할 수 있도록 도와준다. Java Servlet 기술에서 주로 사용된다. request 객체는 HttpServletRequest 인터페이스를 구현한 객체로서, 주요한 메서드와 속성을 제공한다. 🔍 request 객체의 주요 기능 및 사용법 파라미터(Parameter) 읽기 : 클라이언트가 전송한 데이터를 읽기 위해 다양한 메서드를 제공한다. String username = request.getParameter("username"); 헤더(Header) 읽.. JAVA/Theory 2024. 2. 6. [Java] POJO vs Non-POJO POJO(Plain Old Java Object) POJO는 "Plain Old Java Object"의 약자로, 간단하고 순수한 자바 객체를 의미한다. 이는 특별한 제약이나 규칙 없이 자바 클래스를 설계하는 방식을 나타낸다. POJO의 특징 기본적인 자바 클래스로, 다른 프레임워크나 라이브러리에 종속되지 않는다 필드에 접근하기 위한 게터(Getter)와 세터(Setter) 메서드를 포함한다 매개변수가 없는 기본 생성자를 가지고 있다. 직렬화를 지원하기 위해 Serializable 인터페이스를 구현할 수 있다. POJO를 사용하면 코드의 유연성과 가독성을 높일 수 있으며, 유지보수가 쉬워진다. Non-POJO Non-POJO는 POJO의 규칙을 따르지 않거나 특정 프레임워크에 종속된 객체를 나타낸다. 주.. JAVA/Theory 2024. 1. 19. 자바(Java)의 클래스 🔍 클래스의 정의 클래스는 class 예약어를 사용하여 정의된다. 클래스의 이름은 대문자로 시작한다. 예: 클래스는 MyClass이다. public class MyClass { // 클래스 내용이 여기에 옵니다. } 🔍 객체(Object) 클래스의 인스턴스를 객체라고 한다. 클래스는 객체를 생성하기 위한 템플릿이며, 객체는 그 템플릿을 기반으로 메모리에 할당된다. 예: 객체는 myObject이다. MyClass myObject = new MyClass(); 🔍 속성(멤버 변수) 클래스는 속성을 정의할 수 있다. 이러한 속성은 클래스의 상태를 나타내며, 멤버 변수 또는 필드라고도 한다. 예: 속성은 myVariable이다. public class MyClass { // 멤버 변수 int myVariable.. JAVA/Theory 2023. 12. 26. 능력단위평가 오답노트... 🔍 문제 🔍 제출한 답안 [4] 2번라인 (제네릭) ArrayList datas = new ArrayList();로 변경 💡 정답 제네릭을 반드시 써야 하지만 쓰지 않았다고 해서 에러가 나지는 않는다. 하지만 7번라인에서 datas를 int 타입으로 쓰려고 하기 때문에 문제가 발생하는 라인은 7번이다 JAVA 2023. 12. 21. 자바(Java)에서 NullPointerException NullPointerException은 자바 프로그램에서 발생하는 일반적인 예외 중 하나로, 객체 참조가 null인 상태에서 해당 객체의 멤버(메서드 또는 변수)에 접근하려고 할 때 발생한다. 객체가 생성되지 않았거나 할당되지 않은 상태에서 해당 객체를 사용하려고 하면 이 예외가 발생한다. 객체 참조가 null인 경우 아래 코드에서 str이 null이기 때문에 length() 메서드를 호출하면 예외가 발생한다. String str = null; System.out.println(str.length()); // NullPointerException 발생 배열 참조가 null인 경우 배열이 null인 상태에서 배열의 길이를 참조하려고 하면 예외가 발생한다. int[] arr = null; System.out.. JAVA/Theory 2023. 12. 21. 자바(Java)에서 ResultSet 클래스 🔍 ResultSet ResultSet 클래스는 Java에서 데이터베이스에서 가져온 결과 집합을 나타내는 인터페이스다. JDBC(Java Database Connectivity)를 사용하여 데이터베이스와의 상호 작용을 지원하는데, ResultSet는 그 중에서 쿼리 결과를 담고 조작할 수 있는 중요한 인터페이스 중 하나다. ResultSet 인터페이스는 Statement 객체를 통해 SQL 쿼리를 실행한 결과로 생성된다. Statement는 데이터베이스로 쿼리를 전송하고, ResultSet은 그 결과를 효과적으로 처리한다. 주로 Statement의 executeQuery 메서드를 통해 SQL 쿼리를 실행하면서 ResultSet 객체를 얻는다. 🔍 ResultSet 주요 메서드 커서 이동 메서드: next.. JAVA/Practice 2023. 12. 20. [Exception] java.sql.SQLException: ORA-01017: invalid username/password; logon denied 🔥 오류 화면 💧 해결방법 public class JDBCUtil { static final String driverName="oracle.jdbc.driver.OracleDriver"; static final String url="jdbc:oracle:thin:@localhost:1521:xe"; static final String user="teemo"; static final String passwd="1234"; 이 부분에서 user를 teemo가 아닌 초기에 설정했던 아이디로 해야 한다. JAVA/Exception 2023. 12. 20. 이전 1 2 3 4 다음