본문 바로가기

BackEnd

(97)
간단한 계산기 구현하기 XML Main Class import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { EditText et1, et2; Button btnAdd, btnSub, btnMul, btnDiv, btnMod; TextView textResult; @Override protecte..
의존 객체 자동 주입(Autowired, Resource) 의존 객체 자동 주입이란? 스프링 설정 파일에서 의존 객체를 주입할 때 또는 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입해 주는 기능입니다. 자동 주입하는 방법으로는 @Autowired 또는 @Resource라는 어노테이션을 이용하면 되고 주로 현업에서도 많은 개발자분들이 사용하고 있는 방법이기도 합니다. 어노테이션 작성 전 컨텍스트 XML에서 해야할 일 자동주입 전 코드 자동주입 후 변경된 코드 1. beans 태그 안에 xmlns:context="www.springframework.org/schema/context" 코드 추가 2. xsi:schemaLocation 값에 http://www.springfram..
스프링 설정 파일 분리 및 빈(Bean)의 범위 여러 컨텍스트 XML 파일로 나눌 때는 배열에 아래와 같이 담습니다. String[] appCtxs = {"classpath:ctx1.xml", "classpath:ctx2.xml", "classpath:ctx3.xml"}; GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(appCtxs); 빈(Bean)의 범위 싱글톤 - 기본 범위 (하나의 객체만 계속해서 재활용) 프로토타입 - 불러올 때 마다 새로운 메모리 업로드 프로토타입을 사용할 때는 위와 같이 bean 속성에 scope를 주고 prototype이라는 값을 주면 됩니다.
다양한 의존 객체 주입 방법 생성자를 의존 객체 주입하는 방법에 대해서는 이전 글에서 코드를 다뤘습니다. 1. setter를 이용한 의존 객체 주입 public void setJdbcUrl(String jdbcUrl) { this.jdbcUrl = jdbcUrl; } public void setUserId(String userId) { this.userId = userId; } public void setUserPw(String userPw) { this.userPw = userPw; } 2. List 타입 의존 객체 주입 public void setNames(List names) { this.names = names; } 홍길동 김유신 권나라 김다미 3. Map 타입 의존 객체 주입 public void setAdministrat..
의존 객체 주입(DI)은 무엇인가? 의존 객체 주입(Dipendency injection) - 배터리 일체형의 자동차 장난감 - 배터리 분리형의 로봇 장난감 두 가지의 장난감이 있습니다. 배터리가 일체형인 자동차 장난감은 배터리가 다 떨어지면 장난감 자체를 버리거나 새로 구매해야합니다. 배터리가 분리형인 로봇 장난감은 배터리가 다 떨어지면 배터리만 교체해주면 됩니다. public class CarToy { private Battery battery; public CarToy() { battery = new NormalBattery(); } } 배터리 일체형의 자동차 장난감 코드. 생산해내는 공정에서 부터 배터리가 주입되어 있고 교체할 수 없습니다. public class RobotToy { private Battery battery; pu..
자료형 - 문자형 큰 따옴표로 양쪽 둘러싸기 "Hello World" 작은 따옴표로 양쪽 둘러싸기 'Hello World' 큰 따옴표 3개를 연속으로 써서 양쪽 둘러싸기 """Hello World""" 작은 따옴표 3개를 연속으로 써서 양쪽 둘러싸기 '''Hello World''' 문자열 더해서 연결하기 head = "Hello" tail = " World" >>> head + tail = "Hello World" 문자열 곱하기 a = "python" a * 2 >>> 'pythonpython' 인덱싱 a = "Life is too short, You need Python" a[3] // 앞은 0부터 시작한다. >>> 'e' a[-0] >>> L // 0과 -0은 똑같다. a[-2] // 뒤는 1부터 시작한다. >>> '..
속성 - margin, padding, visibility 위 화면을 기준으로 margin, padding 값을 줘보겠습니다. margin(바깥 여백)은 보통 모바일 기준 전체를 다 주므로 LinearLayout 안에서 layout_margin 속성에 50dp만큼의 margin을 주었고 TextView와 EditText에 각각 20dp의 padding을 주었습니다. 그 결과입니다. 차이가 확연히 느껴지시나요? 이번엔 TextView에 visibility 속성의 invisible 값을 줘보겠습니다. 아래 EditText의 수직 위치는 처음와 같이 그대로 고정되어 있음을 확인할 수 있습니다. visibility의 값을 gone으로 준다면? 원래 TextView가 없었다는 듯이 EditText의 수직 위치가 위로 당겨졌습니다. visibility 속성의 값은 아래와 ..
위젯 - TextView, EditText - TextView text = 출력할 임의의 문구 입력 textSize = text의 폰트 사이즈 - EditText hint = HTML의 placeholder 역할 textSize = 입력받는 text의 폰트 사이즈 1. TextView 2. EditText 위 순서로 화면에 출력되었습니다.