annotation
@Service --> service 객체 최상위 클래스를 추상인터페이스 아래서 서비스에 자동으로 주입하는 기능
@AutoWired --> 추상인터페이스 아래서 서비스에 자동으로 주입하는 기능
@Repository --> Databases 와 연결된 DAO 를 자동으로 연결하는 기능
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//** interface 자동완성
//=> Alt + Shift + T
//=> 또는 마우스우클릭 PopUp Menu 의 Refactor - Extract Interface...
@Service
public class MemberServiceImpl implements MemberService {
// ** Mybatis interface 방식 적용
// => MemberMapper 의 인스턴스를 스프링이 생성해주고 이를 주입받아 실행함
// 단, 설정화일에 <mybatis-spring:scan base-package="mapperInterface"/> 반드시 추가해야함
// MemberDAO => mapperInterface 사용으로 MemberMapper 가 역할 대신함
@Autowired
MemberMapper mapper;
//MemberDAO dao = new MemberDAO(); -> MyBatis 적용 전
@Override
public List<MemberVO> selectList() {
return mapper.selectList();
}
|
cs |
Pojo - plain old java object
= 의존성 주입
= 관점 지향 프로그래밍
Spring 설정
Spring Legacy Project - template(Spring MVC Project) - con.ncs.green
프로젝트 우클릭 properties - project facets - Java 의 버전 1.8로 변경
runtimes - Server Apache Tomcat 9.0 선택
applyMaven Dependencies
dependencypom.xml 수정
properties - javaversion 1.8로수정
SpringFramework 수정 5.2.4.RELEASE
plugin - target 1.8 수정 후https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.16
Maven 저장소 페이지 가서 Mysql Connector 8.0.16 다운로드프로젝트 실행
다른 프로젝트(다른환경) 으로 배포하는방법
해당하는 프로젝트를 export - AntBuild
project dir -> build.xml 생성
해당하는 위치와 패키지들이 맞는지 확인 - Target
먼저 기본적으로 생성되어있는지, 중복되지않기 위해 delete
.class 파일들을 jar파일로 묶어줌
jar파일 묶어주는 대상 fileset
포함하는 파일들 include
제외하는 파일들 exclude
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<project basedir="." default="jarfile" name="myMember">
<property name="name" value="myMember"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="bin"/>
<property name="dist.dir" value="dist"/>
<property name="copy.dir" value="C:\\Mtest"/>
<!-- target:
하나의 프로젝트에 여러 target이 있을 수 있고
다른 타겟과 의존성을 가질 수 있다.
타깃 간의 의존 관계는 target 요소의 depends 속성으로 기술
name="타겟이름_필수" ... project Tag의 default 속성에 지정될 수 있음
description="타겟설명_필수요소아님" -->
<target name="jarfile" description="Only Generate a jar file">
<!-- delete:
하나의 파일 또는 디렉토리와 그 하위 디렉토리,
file 속성에 지정된 파일 (동명 화일이 있으면) 삭제
file="dist/myMember.jar" -->
<delete file="${dist.dir}/${name}.jar" />
<!-- jar파일생성
지정된 파일들을 jar로 묶어줌 -->
<jar destfile="${dist.dir}/${name}.jar">
<!-- class 파일 포함 & 제외 -->
<fileset dir="${build.dir}">
<include name="com/**/*.*" />
<!-- 빌드시 제외대상 -->
<exclude name="com/ncs/green/test/*.*" />
</fileset>
<!-- java 소스파일 포함 & 제외 -->
<fileset dir="${src.dir}">
<include name="com/**/*.*"/>
<!-- 빌드시 제외대상 -->
<exclude name="com/ncs/green/test/*.*"/>
</fileset>
</jar>
<!-- 생성된 jar 화일을 드라이브에 복사해서 하나 더 만들어주기 위해
먼저 동일 화일명이 있으면 삭제 하기위해 -->
<delete file="${copy.dir}/${name}.jar"/>
<!-- jar파일복사 -->
<copy todir="${copy.dir}" file="${dist.dir}/${name}.jar" />
|
cs |
Buildfile: C:\Mtest\Mywork\AntBuild\build.xml
jarfile:
[jar] Building jar: C:\Mtest\Mywork\AntBuild\dist\myMember.jar
[copy] Copying 1 file to C:\Mtest
BUILD SUCCESSFUL
Total time: 355 milliseconds
적용방법
적용하고싶은 프로젝트 우클릭
build path - configure build path - 외부파일(external) add JARs - export된 파일 copy본을 선택
references Libraies 에서 적용되었는지 확인
원하는 파일을 export 하고 해당파일을 copy하는 방법 등을 확인.
'공부 > Java' 카테고리의 다른 글
배포 (0) | 2022.06.02 |
---|---|
Spring 개요 // Ioc DI(의존성 주입) (0) | 2022.05.29 |
공통모듈(DTO/VO - DAO - View - Service - Test) (0) | 2022.05.03 |
JDBC(Databases)//MySQL (0) | 2022.05.02 |
쓰레드(Thread) // 멀티쓰레드 (0) | 2022.05.02 |