English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Android에서 뷰를自定义하여 스웨이프 슬라이딩 컨트롤 구현

Android에서 뷰를自定义하여 스웨이프 슬라이딩 컨트롤 구현

실제 프로젝트에서는 일반적으로 데이터베이스 연결 정보, 이메일 전송 설정 정보 등과 같은 설정 가능한 맞춤 정보를 속성 파일에 넣어 일관된 설정 관리를 쉽게 합니다. 예제에서는 설정이 필요한 속성 정보를 속성 파일에 저장합니다/WEB-INF/configInfo.properties에.

중간에 일부 설정 정보(이메일 전송 관련):

# 이메일 전송 관련 설정
email.host = smtp.163.com
email.port = xxx
email.username = xxx
email.password = xxx
email.sendFrom = [email protected]

스프링 컨테이너가 시작될 때, 내장된 bean을 사용하여 속성 파일 정보를 로드하며, bean.xml에 다음과 같이 추가합니다:

XML 코드

<!-- 스프링의 속성 로드기, properties 파일의 속성을 로드합니다 -->
 <bean id="propertyConfigurer"
 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 <property name="location">
  <value>/WEB-INF/configInfo.properties</value>
 </property>
 <property name="fileEncoding" value="utf-8" />
 </bean>

속성 정보가 로드된 후 다른 bean 정의에서 속성 정보의 key를 바탕으로 value를 직접 참조하는 방법 중 하나는 다음과 같습니다. 예를 들어, 이메일 전송기 bean의 설정은 다음과 같습니다:

XML 코드

<!-- 이메일 전송 -->
 <bean id="mailSender"
 class="org.springframework.mail.javamail.JavaMailSenderImpl">
 <property name="host">
  <value>${email.host}</value>
 </property>
 <property name="port">
  <value>${email.port}</value>
 </property>
 <property name="username">
  <value>${email.username}</value>
 </property>
 <property name="password">
  <value>${email.password}</value>
 </property>
 <property name="javaMailProperties">
  <props>
  <prop key="mail.smtp.auth">true</prop>
  <prop key="sendFrom">${email.sendFrom}</prop>
  </props>
 </property>
 </bean>

코드에서 설정 속성 정보를 가져오는 또 다른 방법은 javabean을 정의하는 것입니다. ConfigInfo.java를 사용하여 주석을 통해 코드에서 사용할 속성 정보를 주입할 수 있습니다. 예를 들어, 속성 파일에 다음과 같은 정보가 있을 경우 코드에서 사용할 수 있습니다:

Java 코드

# 파일의 저장 경로 생성
file.savePath = D:/테스트/
# 파일의 백업 경로 생성, 사용 후 해당 파일을 이 디렉토리로 이동
file.backupPath = D:/테스트 백업/

ConfigInfo.java에 해당 코드가 있습니다:

Java 코드

@Component("configInfo")
public class ConfigInfo {
  @Value("${file.savePath}")
  private String fileSavePath;
  @Value("${file.backupPath}")
  private String fileBakPath;
  public String getFileSavePath() {
    return fileSavePath;
  }
  public String getFileBakPath() {
    return fileBakPath;
  }  
}

비즈니스 클래스 bo에서 ConfigInfo 객체를 주입하는 어노테이션을 사용합니다:

Java 코드

@Autowired
private ConfigInfo configInfo;

bean.xml에 컴포넌트 스캔러를 추가하여 어노테이션 방식의 자동 주입을 사용하도록 합니다:

XML 코드

<context:component-scan base-package="com.my.model" />

(위의 패키지 model에 ConfigInfo 클래스가 포함되어 있습니다).

get 메서드를 통해 해당 속성 정보를 얻습니다. 장점은 코드에서 쉽게 사용할 수 있지만, 코드에서 새로운 속성 정보가 필요하면 ConfigInfo.java에 추가 또는 수정이 필요합니다.

읽어주셔서 감사합니다. 많은 도움이 되었기를 바랍니다. 감사합니다. 이 사이트에 대한 지원에 감사합니다!

Elasticsearch 튜토리얼