转载请注明出处:https://blog.youkuaiyun.com/qq_30186661/article/details/80223302
一、平台及工具
平台:Window7
工具:IntelliJ Idea 2017.2.2 | JDK8 | mysql
框架:SpringBoot
二、项目建立步骤
1.File->New->Project->Spring Initialize
Name:firstSpringBoot
Java Version:7
Dependencies:Web->Web
建立完成后,
1)java.com.example.demo目录下会出现FirstSpringBootApplication.java文件,里面的main函数是web应用启动的入口;
2)项目目录下出现pom.xml文件,里面包含了如下图的依赖描述.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.设置属性
2.1配置属性(也可以不手工配置,使用默认配置)
在类路径下的application.properties文件添加属性如下:
server.port=8080
server.servlet.context-path=/springboot
这些属性用于配置项目的启动环境。
2.2注入属性
在类路径下的application.properties文件添加属性如下:
girl.name=B
girl.age=18
girl.content=content: ${girl.name},age:${girl.age}
这些属性可以在controller中直接使用。
3.建立Controller
在FirstSpringBootApplication.java目录下建一个测试用的HelloController.java,内容如下:
@ConfigurationProperties(prefix = "girl")
@RestController
public class HelloController {
// @Value("${girl.name}")
private String name;
// @Value("${girl.content}")
private String content;
@RequestMapping(value={"/hello","/hi"},method= RequestMethod.GET)
public String say(){
return content;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
上面用到的各种注解都是SpringMVC中的注解。其中@RestController用于告诉Spring,由Spring管理该对象的生命周期;
@ConfigurationProperties用于告诉Spring,由Spring进行属性的setter注入,所以这种方式需要setter函数;@Value用于告诉Spring,由Spring进行属性的构造函数注入,因此这种方式不需要setter函数;@RequestMapping用于告诉Spring,由Spring将请求url映射到对应的servlet方法。
4.启动项目
启动项目,然后在浏览器输入localhost:8080/springboot/hi,即可在页面看到hello, you!!。
三、用jpa操作数据库
1.添加依赖描述
在pom.xml中添加如下依赖描述:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2.配置数据库信息
在application.properties中添加如下数据库配置信息和hibernate管理数据库表的信息:
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/pro_sale?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
这里ddl-auto配置的意义是让hibernate第一次操作数据库时,建立对应的表。
3.建立dao
在dao文件夹下建立dao接口:
@Service@Transactional
public interface GirlRep extends JpaRepository<Girl, Integer> {
}
dao接口不需要添加任何接口,只需要继承JpaRespository,该接口中有数据库的增删查改操作。
4.建立entity
在model文件夹下建立Entity实例:
@Entity
public class Girl {
@Id
@GeneratedValue
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
5.建立Controller
@RestController
public class GirlController {
@Autowired
private GirlRep girlRep;
@RequestMapping(value="/girls", method= RequestMethod.GET)
public List<Girl> getGirlList(){
return girlRep.findAll();
}
@RequestMapping(value="/girls",method = RequestMethod.POST)
public Girl addGirl(@RequestParam("name") String name, @RequestParam("age") Integer age){
Girl girl=new Girl();
girl.setAge(age);
girl.setName(name);
return girlRep.save(girl);
}
}
6.启动
1)启动项目
2)在数据库插入一条girl的信息
3)在页面输入localhost:8080/springboot/girls,即可看到刚刚插入的girl的json格式数据。