Spring -> framework(DI, AOP)
=> MVC
+ Lombok
+ Spring JDBC(jdbcTemplate / pooling)
+ Mybatis
+ Mail
+ Upload
=> Maven(Gradle)
이런 기능들을 편하게 쓰기 위해
===> Spring Boot ( + tomcat 설정 내장되어 있음 )
이 구조로 만들어진 것이 전자정부프레임워크이다.
Spring MVC + Tomcat : 구형 template
Spring Boot : 신형 template
개발환경 다운로드 - 4.x 다운로드에서 윈도우 버전 다운 - 실행
프로젝트 목록
boot(신형) / mobile / 구형 버전으로 각각 나뉘어져 있다.
해당 부분 주석제거(이 부분만 주석 제거 함, 다른 부분은 주석)
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.9.0</version>
</dependency>
후에 마리아디비 라이브러리 가져오기
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.1.4</version>
</dependency>
같은 공간의 mysql 복사해서 변경해주기
<!-- MariaDB -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.mariadb.jdbc.Driver"/>
<property name="url" value="jdbc:mariadb://localhost:3306/egov" />
<property name="username" value="egov"/>
<property name="password" value="1234"/>
</bean>
( 넣는 이유는 select 구문이 mariadb구문이 아닌 것이 있어서 그것을 바꿔주기 위함 )
이 부분을
이후에 sql-map-config.xml에서 SQL -> MariaDB로 바꿔주기
index에서 실행 후 하나 써보기 --> db에서 확인
생성 후 실행하면 이런창이 뜬다. (관리자 모드 로그인 하는 모습)
패키지 양이 어마무시하다.
충돌 방지하기 위해 아까 만들었던 테이블 전부 삭제하기
DATEBASE -> all_sht_ddl_mysql.sql ( create 문 ) 들어가서 db에 전부 넣어주기
(all_sht_data_mysql.sql는 insert,update... 구문)
18개 정도의 테이블이 생긴다.
후 all_sht_data_mysql.sql 가서 insert 넣어주기
마찬가지로 pon.mxl가서 주석해주고 mariadb 라이브러리 넣기
이 두 부분 주석 후 넣기
<!--
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.5.2</version>
</dependency>
-->
<!-- mysql driver
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
-->
src/main/resources -> eogvframework -> egovProps 에서 데이터 설정
이 부분 설정하기
이 부분 주석하기
src/main/resources -> egovframework -> spring -> com -> context-datasource.xml에서 나머지 설정 ( hsql 주석 후 mysql부분 확인)
index 실행
diagram -> forward engineering -> database
database -> reverse enginerring -> diagram(physical)
이렇게 설정해주고 생성 ( JAR File은 아까 넣은 드라이버 가져오는 것!)
생성된 모습
우클릭 -> import -> import from database 하고 Load tables 하여 전체 선택 후 finish
erd 구조 나온다.
우클릭 -> export -> ddl 클릭시 ddl 파일 생성된다.
톰캣이 내장되어 있어 톰캣 설정할 필요 x
기본 구성 방식은 동일하나, 실행클래스 위치, controller 추가 등이 다르다.
생성 후 pom.xml에서 버전 확인(2.7.0)
src/main/resources -> application.yml 에서 port 번호를 바꿀 수 있다.
바꾸고 실행클래스에서 실행시, 9090으로 가야 실행된다.
데이터 연결하는 곳은 eogvframework.example.config -> EgovConfigDatasource
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.9.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.1.4</version>
</dependency>
eogvframework.example.config -> EgovConfigDatasource 가서 데이터베이스 연결 구문 쓰고 실행
@Configuration
public class EgovConfigDatasource {
@Bean(name="dataSource")
public DataSource dataSource() {
//EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
//return builder.setType(EmbeddedDatabaseType.HSQL).addScript("classpath:/db/sampledb.sql").build();
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("org.mariadb.jdbc.Driver");
basicDataSource.setUrl("jdbc:mariadb://127.0.0.1:3306/egov");
basicDataSource.setUsername("egov");
basicDataSource.setPassword("1234");
return basicDataSource;
}
실행클래스에서 실행 후 이동