在高并发的互联网项目中,大部分采用的都是分布式架构,来降低服务器负载,把不同的系统和服务分开,每一个功能和服务都是独立的项目,也就意味着需要大量的项目,及项目的配置。
springboot主要功能就是简化了花在项目配置上的时间,把更多的时间花在业务逻辑上。
1.创建maven工程,maven project,打包方式war包
2.手动补全webapp/WEB-INF/web.xml
3.配置依赖pom.xml
没有写头
<modelVersion>4.0.0</modelVersion>
<groupId>cn.itcast.springboot</groupId>
<artifactId>springboot</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<!-- 连接池 -->
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp-spring</artifactId>
<version>0.8.0.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!-- 配置Tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
4.编写user对象
public class User {
private String name;
private Integer age;
private String password;
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;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
5.创建dao模拟数据库查询
public class UserDao {
public List<User> selectUserList(){
List<User> result = new ArrayList<User>();
// 模拟数据库的查询
for (int i = 0; i < 10; i++) {
User user = new User();
user.setName("username_" + i);
user.setPassword("password_" + i);
user.setAge(i + 1);
result.add(user);
}
return result;
}
}
6.service调用
@Service
public class UserService {
@Autowired //注入bean对象
private UserDao userDao;
public List<User> selectUserList(){
//调用dao层方法进行查询
return this.userDao.selectUserList();
}
}
7.创建SpringConfig
@Configuration //用注解表明该类是一个spring配置文件,相当于以前的xml配置文件
@ComponentScan(basePackages="cn.itcast.springboot.javaconfig") //配置扫描包路径
public class SpringConfig {
@Bean //等同于<bean>标签
public UserDao getUserDao() {
return new UserDao(); //直接new 对象做演示
}
}
8.主函数调用测试,及结果
public class Main {
public static void main(String[] args) {
//初始化spring容器,通过配置文件
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext(SpringConfig.class);
//在spring容器中获取bean对象
UserService userService = context.getBean(UserService.class);
//调用方法
List<User> selectUserList = userService.selectUserList();
//遍历输出
for (User user : selectUserList) {
System.out.println(user.getName() + ", " + user.getPassword() + ", " + user.getPassword());
}
//销毁容器
context.destroy();
}
}
相比于SSM或SSH工程简化了xml的配置,使用Java配置的方式管理bean