diff options
| author | Kamal Wickramanayake <kamal@inbox.lk> | 2026-05-10 14:23:46 +0530 |
|---|---|---|
| committer | Kamal Wickramanayake <kamal@inbox.lk> | 2026-05-10 14:23:46 +0530 |
| commit | b1d598a2f02819bc127d0d3522dc7ac91b4dee65 (patch) | |
| tree | c268db6b49531004e353c5a4ada736bb703a3b96 /spring-framework/spring-task-manager-structure/src/main/java/com/example | |
| parent | a299226547b15de587dad614f07ce459d01f3601 (diff) | |
Added Spring sample application related to structure
Diffstat (limited to 'spring-framework/spring-task-manager-structure/src/main/java/com/example')
8 files changed, 130 insertions, 0 deletions
diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/App.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/App.java new file mode 100644 index 0000000..0df54bc --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/App.java @@ -0,0 +1,11 @@ +package com.example.spring; + +import com.example.spring.task.TaskManagerApp; + +public class App { + public static void main(String[] args) { + // Actually, BankApp is the class with the main method. + // It should have been executed directly instead of this class. + TaskManagerApp.main(args); + } +} diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/Task.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/Task.java new file mode 100644 index 0000000..9d112f7 --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/Task.java @@ -0,0 +1,5 @@ +package com.example.spring.task; + +public class Task { + +} diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManager.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManager.java new file mode 100644 index 0000000..9e4cbf4 --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManager.java @@ -0,0 +1,11 @@ +package com.example.spring.task; + +/** + * Business logic operations. + * Only method signatures are defined. + */ +public interface TaskManager { + // Method signatures + public void create(Task task); + +} diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManagerApp.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManagerApp.java new file mode 100644 index 0000000..0e2c65d --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManagerApp.java @@ -0,0 +1,20 @@ +package com.example.spring.task; + +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class TaskManagerApp { + + /** + * @param args + */ + public static void main(String[] args) { + + AbstractApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] {"classpath:META-INF/spring/applicationContext.xml"}); + + TextUI ui = ctx.getBean("textUI", TextUI.class); + + ui.start(); + } + +} diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManagerImpl.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManagerImpl.java new file mode 100644 index 0000000..46ca02e --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TaskManagerImpl.java @@ -0,0 +1,20 @@ +package com.example.spring.task; + +import com.example.spring.task.dao.TaskDAO; + +public class TaskManagerImpl implements TaskManager { + + private TaskDAO taskDAO; + + public void setTaskDAO(TaskDAO taskDAO) { + this.taskDAO = taskDAO; + } + + @Override + public void create(Task task) { + // Actual business logic related to creating a task + // .. + Task newTask = taskDAO.create(task); + // ... + } +} diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TextUI.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TextUI.java new file mode 100644 index 0000000..7b4676f --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/TextUI.java @@ -0,0 +1,18 @@ +package com.example.spring.task; + +public class TextUI { + + private TaskManager taskManager; + + public void setTaskManager(TaskManager taskManager) { + this.taskManager = taskManager; + } + + public void start() { + System.out.println("Starting TextUI..."); + //.. + Task t = new Task(); + taskManager.create(t); + //.. + } +} diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/dao/TaskDAO.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/dao/TaskDAO.java new file mode 100644 index 0000000..3f5ad2b --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/dao/TaskDAO.java @@ -0,0 +1,10 @@ +package com.example.spring.task.dao; + +import com.example.spring.task.Task; + +/** + * Provide an object view of a data store + */ +public interface TaskDAO { + public Task create(Task task); +} diff --git a/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/dao/jdbc/JDBCTaskDAO.java b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/dao/jdbc/JDBCTaskDAO.java new file mode 100644 index 0000000..37ced85 --- /dev/null +++ b/spring-framework/spring-task-manager-structure/src/main/java/com/example/spring/task/dao/jdbc/JDBCTaskDAO.java @@ -0,0 +1,35 @@ +package com.example.spring.task.dao.jdbc; + +import java.sql.Connection; + +import javax.sql.DataSource; + +import com.example.spring.task.Task; +import com.example.spring.task.dao.TaskDAO; + +/** + * Use JDBC API to interact with a DB + */ +public class JDBCTaskDAO implements TaskDAO { + + private DataSource dataSource; + + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; + } + + @Override + public Task create(Task task) { + // Use a DB connection + // Connection conn = dataSource.getConnection(); + + // Perform an insert + // Return a Task object with ID set + + System.out.println("JDBCTaskDAO: inserting a record to DB."); + //task.setId(dbTaskId); + + return task; + } + +} |
