-
java frameworks "simple-boot" open source project (자바 프레임워크)IT 2021. 3. 7. 21:42
안녕하세요.
java frameworks "simple-boot" open source project를 시작해보려 합니다.
함께 참여, 성장하는 계기가 되었으면 좋겠습니다. 많은 참여 부탁 드립니다.
github: https://github.com/visualkhh/simple-boot
오픈 채팅: https://open.kakao.com/o/gMymrf1c
- 언제든지 열려있으니 관심있으신 분들의 고견 및 참여 부탁드립니다.
simple-boot [v1.0.0]
애플리케이션 및 서비스를 최소의 요구 사항으로 생성할 수 있도록 도와줍니다.
주요기능
-
개발을 위해 획기적으로 빠르고 광범위하게 액세스할 수 있는 시작 경험을 제공합니다. 비지니스에만 집중하세요.
- 객체관리 (생성, 라이프 사이클)
- 디펜던시 인젝션 등..
-
의존관계 설정으로만으로 추가 기능(modules)을 쉽고 빠르게 적용할수 있습니다.
설치 및 시작
참조 문서에는 자세한 설치 지침과 포괄적인 시작 가이드가 포함되어 있습니다.
다음은 Java의 완전한 simple-boot 애플리케이션에 대한 간단한 티저입니다.- version: >= java8
example project
- 다음은 Java의 완전한 simple-boot 애플리케이션에 대한 간단한 web project 입니다.
- gradle
dependencies { implementation project(':simple') implementation project(':simple-db') implementation project(':simple-db-h2') implementation project(':simple-db-hibernate') implementation project(':simple-web') implementation project(':simple-web-thymeleaf') implementation project(':simple-web-netty') }
- java
public class ExampleApplication { public static void main(String[] args) { new SimpleApplication().run(ExampleApplication.class); } }
@Controller public class TodoController { private final AdminService adminService; @Injection public TodoController(AdminService adminService) { this.userService = userService; } @GetMapping("/admins") public List<Admin> admins(Request request, Response response){ return adminService.admins(); } @PostMapping("/admin") public Serializable saveAdmin(Request request, Response response) throws ProcessingException { Admin admin = request.body(Admin.class); return adminService.save(admin); } @GetMapping("/") public View index(Request request, Response response){ View view = new View("views/index.html"); view.put("name", "demo page"); return view; } }
@Service public class AdminService { private DatabaseAccessor databaseAccessor; @Injection public AdminService(DatabaseAccessor databaseAccessor) { this.databaseAccessor = databaseAccessor; } @Transactional public Serializable save(Admin admin) { return databaseAccessor.save(admin); } @Transactional public List<Admin> admins() { return databaseAccessor.resultList(Admin.class); } }
- gradle
Modules
- cores
- simple [core]
- dbs
- simple-db [core]
- simple-db-h2
- simple-db-hibernate
- simple-db [core]
- webs
- simple-web [core]
- simple-web-thymeleaf
- simple-web-netty
- simple-web [core]
Modules 추가
-
package 위치: com.simple.boot.{모듈이름}
-
public class 모듈이름 extends Starter { ... }
-
@PostConstruct Method쪽 구동 로직 구현.
@Config public class ModuleStarter extends Starter { private final ModuleConfig config; private final SimstanceManager simstanceManager; @Injection public ModuleStarter(SimstanceManager simstanceManager, ModuleConfig config) { this.simstanceManager = simstanceManager; this.config = config; } @PostConstruct public void init() { // something... } }
@Config public class ModuleConfig { // something... public Map<String, Object> property; @Injection public ModuleConfig(ConfigLoader configLoader) { configLoader.map("module", this); } }
구현체 interface (Type 으로 구성필요한 항목)
- simple
- com.simple.boot.transaction.TransactionManager
- 트렌젝션 제어
- com.simple.boot.transaction.TransactionManager
- simple-db
- com.simple.boot.db.DatabaseAccessor
- 데이터베이스 접근 제어
- com.simple.boot.db.DatabaseAccessor
- simple-web
- com.simple.boot.web.server.WebServer
- 웹서버
- com.simple.boot.web.view.ViewResolver
- 뷰엔진
- com.simple.boot.web.server.WebServer
도움 받기
- 추가 Modules
- 같이 만들어 나갈 개발자분 참여가 필요합니다.
보고된 문제
- 많은 참여가 필요합니다.
License
- simple-boot is Open Source software released under the Apache 2.0 license.
- visualkhh@gmail.com
'IT' 카테고리의 다른 글
http patch method를 이용하여 우아하게 부분 수정하기. (0) 2021.04.09 spring data jpql 에서 GROUP_CONCAT function 사용하기. (0) 2021.04.08 message.properties → *.json 변환하여 프론트 프로젝트에 넣기. (gradle) (0) 2021.02.09 java 자바 이미지 텍스트 변환하기 (0) 2021.02.05 하이버네이트 5.x 시작하기 (pdf) (0) 2021.02.04 -