I am trying to develop a sample spring boot based application in IntellIJ. So I used spring Initialzr approach, and made default selections during the setup. The pom.xml I ended
spring-boot-starter-web contains the following dependencies:
Using IntelliJ, you can view the dependencies of your artifacts at the bottom of the project structure.
Given that spring-boot-starter is a dependency of spring-boot-starter-web, it would be useless to have both. It wouldn't do any harm if you kept both either, just unnecessary.
spring-boot-starter is itself a dependency of spring-boot-starter-web. If you include only spring-boot-starter dependency into your application then you will get only runtime infrastructure along with some core features. So for the web application you need to include spring-boot-starter-web so that you can get spring-mvc, jackson and spring-boot-starter. There is no need of using both. If you will use spring-boot-starter-web then it will be enough for your application. However using both will not will not through an error.
spring-boot-starter provides the basic development and run time infrastructure for your application along with core spring features. If you want web capabilities such as spring-mvc to your project you need to use spring-boot-starter-web. However if you use spring-boot-starter-web you do not need to to explicitly mention spring-boot-starter.