Skip to content

Commit 9260402

Browse files
using annotation based congiguration
1 parent fbb7a99 commit 9260402

File tree

7 files changed

+95
-42
lines changed

7 files changed

+95
-42
lines changed

UserManagement/pom.xml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,23 @@
3434
<artifactId>spring-jdbc</artifactId>
3535
<version>4.1.0.RELEASE</version>
3636
</dependency>
37-
<dependency>
38-
<groupId>mysql</groupId>
39-
<artifactId>mysql-connector-java</artifactId>
40-
</dependency>
37+
4138
<dependency>
4239
<groupId>com.google.code.gson</groupId>
4340
<artifactId>gson</artifactId>
4441
<version>2.8.4</version>
4542
</dependency>
43+
<dependency>
44+
<groupId>org.springframework.boot</groupId>
45+
<artifactId>spring-boot-starter-data-jpa</artifactId>
46+
</dependency>
47+
<dependency>
48+
<groupId>mysql</groupId>
49+
<artifactId>mysql-connector-java</artifactId>
50+
</dependency>
4651
</dependencies>
4752

53+
4854
<build>
4955
<plugins>
5056
<plugin>
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.hms.mangement.UserManagement;
2+
3+
import org.springframework.beans.factory.annotation.Value;
4+
import org.springframework.boot.jdbc.DataSourceBuilder;
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.jdbc.core.JdbcTemplate;
7+
import javax.sql.DataSource;
8+
import java.beans.PropertyVetoException;
9+
10+
@org.springframework.context.annotation.Configuration
11+
12+
public class Configuration {
13+
@Value("${spring.datasource.driver-class-name}")
14+
private String jdbcDriverName;
15+
@Value("${url}")
16+
private String jdbcURl;
17+
18+
@Value("${spring.datasource.url}")
19+
private String dbUsername;
20+
21+
@Value("${spring.datasource.password}")
22+
private String dbPassword;
23+
24+
@Bean
25+
public DataSource datasource() throws PropertyVetoException {
26+
/*ApplicationContext context = new ClassPathXmlApplicationContext("been.xml");
27+
DataSource dataSource = (DataSource) context.getBean("dataSource");
28+
return dataSource;*/
29+
System.out.println("hello"+jdbcURl);
30+
return DataSourceBuilder
31+
.create()
32+
.username("root")
33+
.password("beyondm")
34+
.url("jdbc:mysql://localhost:3306/userDatabase")
35+
.driverClassName("com.mysql.jdbc.Driver")
36+
.build();
37+
}
38+
39+
@Bean
40+
public JdbcTemplate jdbcTemplate(){
41+
try {
42+
return new JdbcTemplate(datasource());
43+
} catch (PropertyVetoException e) {
44+
e.printStackTrace();
45+
return null;
46+
}
47+
}
48+
@Bean
49+
public UserDAOClass userDAO(){
50+
UserDAOClass userDAOClass = new UserDAOClass();
51+
userDAOClass.setJdbcTemplate(jdbcTemplate());
52+
return userDAOClass;
53+
}
54+
55+
56+
57+
}

UserManagement/src/main/java/com/hms/mangement/UserManagement/Controller.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.gson.Gson;
44
import org.springframework.context.ApplicationContext;
5+
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
56
import org.springframework.context.support.ClassPathXmlApplicationContext;
67
import org.springframework.web.bind.annotation.*;
78

@@ -10,13 +11,14 @@
1011
@RestController
1112
public class Controller {
1213

13-
private ApplicationContext context ;
14-
private UserJDBCTemplate userJDBCTemplate ;
15-
14+
private ApplicationContext context;
15+
private UserDAO userJDBCTemplate;
16+
1617

1718
public Controller() {
18-
this.context = new ClassPathXmlApplicationContext("been.xml");
19-
this.userJDBCTemplate = (UserJDBCTemplate) context.getBean("userJDBCTemplate");
19+
this.context = new AnnotationConfigApplicationContext(Configuration.class);
20+
this.userJDBCTemplate = context.getBean(UserDAO.class);
21+
2022
}
2123

2224
@GetMapping(value = "/Users")
@@ -48,8 +50,7 @@ public String createUsers(@RequestParam(value = "userName", defaultValue = " ")
4850
} else if (user.getPassword().length() > 20) {
4951
System.out.println("password cannot exceed 20 characters");
5052
return "password cannot exceed 20 characters";
51-
}
52-
else {
53+
} else {
5354
userJDBCTemplate.create(user);
5455
return "created new user";
5556
}
@@ -61,7 +62,7 @@ public String updatePassword(@RequestParam(value = "id", defaultValue = " ") int
6162
@RequestParam(value = "opassword", defaultValue = " ") String oldPassword,
6263
@RequestParam(value = "npassword", defaultValue = " ") String newPassword) {
6364

64-
return userJDBCTemplate.updatePassword(id,oldPassword,newPassword);
65+
return userJDBCTemplate.updatePassword(id, oldPassword, newPassword);
6566

6667
}
6768

@@ -70,5 +71,5 @@ public String deleteUser(@RequestParam(value = "id", defaultValue = " ") int id)
7071

7172
return userJDBCTemplate.deleteUser(id);
7273
}
73-
7474
}
75+

UserManagement/src/main/java/com/hms/mangement/UserManagement/UserDAO.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import javax.sql.DataSource;
44
import java.util.List;
55

6-
public interface UserDAO {
6+
public interface UserDAO {
7+
78

8-
99
//public void setDataSource(DataSource ds);
1010

1111
/**

UserManagement/src/main/java/com/hms/mangement/UserManagement/UserJDBCTemplate.java renamed to UserManagement/src/main/java/com/hms/mangement/UserManagement/UserDAOClass.java

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package com.hms.mangement.UserManagement;
22

3-
import org.springframework.context.ApplicationContext;
4-
import org.springframework.context.support.ClassPathXmlApplicationContext;
3+
import org.springframework.beans.factory.annotation.Autowired;
54
import org.springframework.jdbc.core.JdbcTemplate;
6-
7-
import javax.sql.DataSource;
85
import java.util.List;
96

10-
public class UserJDBCTemplate implements UserDAO {
11-
7+
public class UserDAOClass implements UserDAO {
8+
@Autowired
129
private JdbcTemplate jdbcTemplate;
1310
// private DataSource dataSource;
1411

@@ -43,17 +40,15 @@ public void create(User user) {
4340
public String deleteUser(int id) {
4441
User user = isIdExist(id);
4542
if (user == null) {
46-
System.out.println("id not found");
47-
return "id not found";
43+
System.out.println("User with id "+id+" not found");
44+
return "User with id "+id+" not found";
4845
} else {
4946
String sql = "DELETE FROM users WHERE UserId=?";
5047
jdbcTemplate.update(sql,id);
5148
System.out.println("user id "+ id +" deleted");
5249
return "user id "+ id +" deleted";
5350

5451
}
55-
56-
5752
}
5853

5954
@Override
@@ -78,16 +73,16 @@ public User isIdExist(int userId) {
7873
public String updatePassword(int id, String oldPassword, String newPassword) {
7974
User user = isIdExist(id);
8075
if (user == null) {
81-
System.out.println("id not found");
82-
return "id not found";
76+
System.out.println("User with id "+id+" not found");
77+
return "User with id "+id+" not found";
8378
}
8479
else if (!user.getPassword().equals(oldPassword)) {
8580
return "invalid password";
8681
} else {
8782
String sql = "UPDATE users SET passowrd=? WHERE UserId=?";
8883
jdbcTemplate.update(sql,newPassword,id);
89-
System.out.println("record updated");
90-
return "update success";
84+
System.out.println("User Id "+id+" password succesfully updated");
85+
return "User Id "+id+" password succesfully updated";
9186

9287
}
9388
}

UserManagement/src/main/resources/application.properties

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
spring.datasource.url=jdbc:mysql://localhost:3306/userDatabase
2+
spring.datasource.username=root
3+
spring.datasource.password=beyondm
4+
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
5+
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
6+
7+
url=jdbc:mysql://localhost:3306/userDatabase
18

2-
message.default.welcome=Welcome...
3-
message.default.goodbye=Goodbye...

UserManagement/src/main/resources/been.xml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,6 @@
1414
</bean>
1515

1616

17-
<!-- Definition for studentJDBCTemplate bean -->
18-
<bean id="userJDBCTemplate" class="com.hms.mangement.UserManagement.UserJDBCTemplate">
19-
20-
<property name="jdbcTemplate" ref="JdbcTemplateRef"/>
21-
</bean>
22-
<bean id="JdbcTemplateRef" class="org.springframework.jdbc.core.JdbcTemplate">
23-
<property name="dataSource" ref="dataSource"/>
24-
</bean>
25-
<bean id="UserMapper" class="com.hms.mangement.UserManagement.UserMapper">
26-
27-
</bean>
2817

2918

3019
</beans>

0 commit comments

Comments
 (0)