open jdk 11
STS 3.1
디자인 패턴 + 라이브러리
■ 커지는 SW 규모 관리를 위해서는 '규격'이 필요
■ 공통의 컴포넌트들의 반복 생성을 편리하게 - 재사용성을 높이기 위함, 즉 작업 영역간의 결합도(coupling) 문제
■ AOP(Aspect Oriented Programming): 관심사항을 등록해놓으면 코드를 수정하지 않아도(proxy 서버) 필요한 타겟 대상을 찾아 필요한 사전/사후 처리를 해줌
■ 요구사항은 수시로 변경됨, 소스코드 변경 최소화가 필요
■ 범용적인 코딩 스타일 필요(패턴화)
■ 직관적인 코드 사용 필요
■ 비기능적 요구사항: BE에서 서비스를 제공 (성능, 품질, 보안, 확장성, 안정성)
■ 기반코드 : 상속 or 인터페이스
spring framework: 경량급 애플리케이션 프레임워크로, 불필요한 객체 생성을 없애 메모리의 소모를 줄일 수 있다.
■ Maven project: pom.xml 파일 수정, dependency 수정하면 관련된 라이브러리를 다운 받아줌
■ 전자 정부 프레임워크 - 스프링 마이바티스로 이루어져있음
■ 경량: 불필요한 객체 생성 없음
■ 제어역행: 흐름이 뒤바뀌다, die
■ 컨테이너
■ 관점지향: (필터와 비슷) AOP
순수자바... 웹 전용은 아닐지도.
빈 설정(Bean Definition) xml 문서 - 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것, 단지 의존관계가 필요하다는 정보를 추가만 하면 됨
index = "0" value = "Spring" - 문자열을 매개변수로 받을 때
index = "1" ref = "printer" - 객체를 매개변수로 받을 때
우리는 BeanFactory를 상속받은 ApplicationContext를 사용함
중요 - ApplicationContext: Spring container를 뜻함
중요 - Bean: 하나의 클래스, 객체
group id - 최상위 그룹 아이디
artifact id - 하위 그룹 아이디
1) 생성자
2) setter
1) src/main/java
2) src/test/java : 단위 테스트시
3) src/main/resource : 정적문서, 환경설정문서, ~.xml
maven folder - 사용자 - .me - repository
//모든 객체들을 관리할 때 설정을 바꿔주지 않으면 스프링은 무조건 Singleton형탱
기본은 singleton
bean을 생성할 때 scope="prototype" 설정하면 지연 초기화됨
$ 명령어 - properties 파일 참조할 때 쓰기
<!-- 외부 properties 파일의 위치 설정 -->
<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"></bean>
== new configure...
context namespace - 객체를 만들어준다?
생성자 value, ref
setter value, ref