diff --git a/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java
index 4d60be3d3c4ce56da4b71c0c984b7b145db00035..f7eb4cac1cfdefb21568c438de53bdb212165b92 100644
--- a/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java
+++ b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java
@@ -1,89 +1,54 @@
 package com.ajou.procoding.myweb.controller;
 
-import java.io.IOException;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 
 import com.ajou.procoding.myweb.dto.FavoriteMusicRequestDto;
 import com.ajou.procoding.myweb.dto.MusicList;
-import com.ajou.procoding.myweb.entitiy.FavoriteMusic;
+import com.ajou.procoding.myweb.entity.FavoriteMusic;
 import com.ajou.procoding.myweb.repository.FavoriteRepository;
+import com.ajou.procoding.myweb.service.MusicService;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import jakarta.transaction.Transactional;
 
-@RestController
-
-public class MyWebController {
-
-    @GetMapping(value="/musicSearch/{term}")
-    public MusicList musicSearchByPath(@PathVariable String term) {
-        RestTemplate restTemplate = new RestTemplate();
-        String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term);
-        try {
-            String response = restTemplate.getForObject(url, String.class);
-            ObjectMapper mapper = new ObjectMapper();
-            MusicList list = mapper.readValue(response, MusicList.class);
-            System.out.println(list.getResultCount());
-            return list; 
-        } catch (IOException e) {
-            System.out.println(e.toString());
-            return null;
-        }
-    }
-
+import java.io.IOException;
+import java.util.List;
 
-    @GetMapping(value="/musicSearch")
-    public MusicList musicSearchByParam(@RequestParam String term) { 
-        RestTemplate restTemplate = new RestTemplate();
-        String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term);
-        try {
-            String response = restTemplate.getForObject(url, String.class);
-            ObjectMapper mapper = new ObjectMapper();
-            MusicList list = mapper.readValue(response, MusicList.class);
-            System.out.println(list.getResultCount());
-            return list; // 일단 문자열로 반환
-        } catch (IOException e) {
-            System.out.println(e.toString());
-            return null;
-        }}
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 
-        @Autowired
-        FavoriteRepository albumsRepo;
+@RestController
+public class MyWebController {
 
 
-        @GetMapping(value="/likes") 
-        public List<FavoriteMusic> getLikes() {
+    @Autowired
+    MusicService service;
 
-        try {
-            return albumsRepo.findAll();
+    @GetMapping(value = "/musicSearch/{name}")
+    public MusicList musicSearchByPath(@PathVariable String name) {
+        return service.searchMusic(name);
+    }
 
-        } catch (Exception e) {
-            System.out.println(e.toString());
-            return null;
-        }
+    @GetMapping(value = "/musicSearch")
+    public MusicList musicSearchByParam(@RequestParam(value = "term") String name) {
+        return service.searchMusic(name);
+    }
 
+    @GetMapping(value="/likes")  //Get Favorite Music list from Database
+    public List<FavoriteMusic> getLikes() {
+        return service.getLikes();
     }
 
     @PostMapping(value="/likes")
-    @Transactional
     public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) {
-        FavoriteMusic music = albumsRepo.save(favorite.toEntity());
-        if(music != null) {
-            return 1;
-        }
-        else {
-            return 0;
-        }
+        return service.saveFavorite(favorite);
     }
 
-
 }
+
+
diff --git a/src/main/java/com/ajou/procoding/myweb/dto/FavoriteMusicRequestDto.java b/src/main/java/com/ajou/procoding/myweb/dto/FavoriteMusicRequestDto.java
index 73df8bcac3bb6ee293fa8092bab338e4c0901369..79ae88f203c8eb9a06570c95c1b8949596c0496a 100644
--- a/src/main/java/com/ajou/procoding/myweb/dto/FavoriteMusicRequestDto.java
+++ b/src/main/java/com/ajou/procoding/myweb/dto/FavoriteMusicRequestDto.java
@@ -1,6 +1,6 @@
 package com.ajou.procoding.myweb.dto;
 
-import com.ajou.procoding.myweb.entitiy.FavoriteMusic;
+import com.ajou.procoding.myweb.entity.FavoriteMusic;
 
 import jakarta.persistence.Column;
 import lombok.Getter;
@@ -22,12 +22,13 @@ public class FavoriteMusicRequestDto {
     public FavoriteMusic toEntity() {
         FavoriteMusic music = new FavoriteMusic();
         music.setCollectionId(this.collectionId);
-        music.setCollectionId(this.collectionType);
-        music.setCollectionId(this.artistId);
-        music.setCollectionId(this.artistName);
-        music.setCollectionId(this.artistViewUrl);
-        music.setCollectionId(this.collectionName);
-        music.setCollectionId(this.collectionViewUrl);
+        music.setCollectionType(this.collectionType);
+        music.setArtistId(this.artistId);
+        music.setArtistName(this.artistName);
+        music.setCollectionName(this.collectionName);
+        music.setArtistViewUrl(this.artistViewUrl);
+        music.setCollectionViewUrl(this.collectionViewUrl);
+
 
         return music;
     }
diff --git a/src/main/java/com/ajou/procoding/myweb/entitiy/FavoriteMusic.java b/src/main/java/com/ajou/procoding/myweb/entity/FavoriteMusic.java
similarity index 93%
rename from src/main/java/com/ajou/procoding/myweb/entitiy/FavoriteMusic.java
rename to src/main/java/com/ajou/procoding/myweb/entity/FavoriteMusic.java
index eb5a28ad8d30e4113fce362bbc36c727ddfe7add..5c5167fc2d30f8dd56cc21eb7823922abb27d598 100644
--- a/src/main/java/com/ajou/procoding/myweb/entitiy/FavoriteMusic.java
+++ b/src/main/java/com/ajou/procoding/myweb/entity/FavoriteMusic.java
@@ -1,4 +1,4 @@
-package com.ajou.procoding.myweb.entitiy;
+package com.ajou.procoding.myweb.entity;
 
 import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
diff --git a/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java b/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java
index 04fac828bda32125d4fea8fdf008188c58338f19..4e9f4a8897b63b04fea72e2f610bf2ab2198eb75 100644
--- a/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java
+++ b/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java
@@ -4,7 +4,7 @@ import java.util.List;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 
-import com.ajou.procoding.myweb.entitiy.FavoriteMusic;
+import com.ajou.procoding.myweb.entity.FavoriteMusic;
 
 public interface FavoriteRepository extends 	
             JpaRepository<FavoriteMusic, String> {
diff --git a/src/main/java/com/ajou/procoding/myweb/service/MusicService.java b/src/main/java/com/ajou/procoding/myweb/service/MusicService.java
new file mode 100644
index 0000000000000000000000000000000000000000..ef2e6cf35350c9c3f9e6e9ad11fa8ee0e35db63d
--- /dev/null
+++ b/src/main/java/com/ajou/procoding/myweb/service/MusicService.java
@@ -0,0 +1,48 @@
+package com.ajou.procoding.myweb.service;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import com.ajou.procoding.myweb.dto.FavoriteMusicRequestDto;
+import com.ajou.procoding.myweb.dto.MusicList;
+import com.ajou.procoding.myweb.entity.FavoriteMusic;
+import com.ajou.procoding.myweb.repository.FavoriteRepository;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import jakarta.transaction.Transactional;
+import lombok.RequiredArgsConstructor;
+
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class MusicService {
+    private final FavoriteRepository albumsRepo;
+    RestTemplate restTemplate = new RestTemplate();
+
+    public MusicList searchMusic(String name) {
+        String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", name);
+
+        try {
+            String response = restTemplate.getForObject(url, String.class);
+            ObjectMapper mapper = new ObjectMapper();
+            MusicList list = mapper.readValue(response, MusicList.class);
+            System.out.println(list.getResultCount());
+            return list;
+        } catch (IOException e) {
+            System.out.println(e.toString());
+            return null;
+        }
+    }
+
+    public List<FavoriteMusic> getLikes() {
+        return albumsRepo.findAll();
+    }
+
+    public int saveFavorite(FavoriteMusicRequestDto favorite) {
+        FavoriteMusic music = albumsRepo.save(favorite.toEntity());
+        return music != null ? 1 : 0;
+    }
+}
\ No newline at end of file