스프링 프레임워크

Java .properties 파일 읽기

맘모스커피 2023. 7. 25. 16:51

Properties는 HashTable을 상속받아 구현한 컬렉션의 한종류입니다.
HashMap은 키와 값(Object, Object) 형태로 저장하는데 Properties는 오브젝트가 아닌 String형태로
저장하는 보다 간단한 컬렉션 클래스 입니다.

 

@SuppressWarnings를 사용하여 경고 제외

 

ava 5.0부터 java.lang.SuppressWarning 어노테이션을 사용하여 컴파일 단위의 서브세트와 관련된 컴파일 경고를 사용하지 않도록 설정할 수 있습니다.

 

LinkedHashMap

HashMap의 경우 다 좋은데, 단점이 하나 있다. 그 단점은 put을 통해 데이터나 객체를 넣을때 key의 순서가 지켜지지 않는다는 것이다. 개발을 할때 코드상으로 순차적으로 key/value를 넣어도, 실제 HashMap에서는 해당 순서가 지켜지지 않는다.

 

LinkedHashMap은 put을 통해 입력된 순서대로 Key가 보장되므로 해당 문제를 해결할 수 있다. 물론 사용법은 HashMap과 동일하다.

ApplicationContext 란?

 

· 스프링 애플리케이션 전반에 걸쳐 모든 구성요소의 제어 작업을 담당하는 IoC 엔진이다.

 

· IoC 방식을 따라 만들어진 일종의 빈 팩토리이다.

- 빈 팩토리라고 말할 때는 빈을 생성하고 관계를 설정하는 IoC의 기본 기능에 초점을 맞춘 것이다. 애플리케이션 컨텍스트는 별도의 정보를 참고해서 빈의 생성, 관계설정 등의 제어를 총괄한다. 

 

ApplicationContextAware 인터페이스

스프링 프레임워크를 사용해서 개발하다가 빈(Bean)들의 ID값(String)을 가지고 ApplicationContext 객체로 부터 동적으로 객체를 얻고 싶었다. 하지만 ApplicationContext 객체를 어디서 얻어야 할지 고민이 들었다.

String configLocation = "META-INF/spring/app-context.xml";
ApplicationContext context = new ClassPathXmlApplicationContext(configLocation);

ApplicationContextAware 인터페이스를 구현하기만 하면 ApplicationContext 객체를 얻는 것은 식은죽 먹기다.

 

 

 

var name = document.getElementById("name").value;

if(name==' '){

alert("이름을 입력해주십시오."); $('#name').focus(); return false;

 

HttpServletRequest

HTTP 요청 메시지를 개발자가 직접 파싱해도 되지만 매우 불편할 것이다.

서블릿(Servlet)은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 HTTP 메시지를 대신 파싱한다.

이렇게 파싱된 메시지를 HttpServletRequest 객체에 담아서 제공하는 것이다.

즉, HttpServletRequest는 서블릿이 HTTP 요청 메시지를 파싱한 결과를 담은 객체이다.

HttpServletRequest를 사용하면 HTTP 요청 메시지를 편리하게 조회할 수 있게 된다.