1. spring的发展
spring1.x
通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分配到不同的配置文件中,需要在java类和xml配置文件中切换。
spring2.x
JDK1.5带来注解的支持,可以使用注解对Bean进行申明和注入,大大减少xml配置,大大简化了项目的开发。应用的基本配置用xml,如数据源、资源文件等,业务开发用注解,如:service中注入bean等。
spring3.x到spring4.x
从3开始提供了java配置方式,使用java配置方式可以更好理解配置的bean,4和springboot都推荐使用java配置的方式。
2. java配置方式
新建一个类xxxConfig,@Configuration 来表明该类是一个Spring的配置,相当于一个xml文件, 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值。
@Configuration
@ComponentScan(basePackages = "xx.xx.xx.xx") //配置扫描包
@PropertySource(value= {"classpath:jdbc.properties"})
public class SpringConfig {
@Value("${jdbc.url}")
private String jdbcUrl;
@Bean // 通过该注解来表明是一个Bean对象,相当于xml中的<bean>
public DataSource dataSource(){
return new BoneCPDataSource(); // 直接new对象做演示
}
}
3. springboot
快速构建项目,对主流开发框架无配置集成,项目可独立运行,无须外部依赖Servlet容器,提供运行时的应用监控,极大地提高了开发/部署效率,与云计算天然集成。
springboot项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
导入web支持
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
添加插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
应用:
@Controller
@SpringBootApplication
@Configuration
public class HelloApplication {
@RequestMapping("hello")
@ResponseBody
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
代码说明:
1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置;
2、@Configuration:这是一个配置Spring的配置类;
3、@Controller:标明这是一个SpringMVC的Controller控制器;
4、main方法:在main方法中启动一个应用,即:这个应用的入口;
项目启动直接run 或 debug即可。
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。
修改Tomcat的端口为8088:server.port=8088
Spring Boot对各种日志框架都做了支持,我们可以通过配置来修改默认的日志的配置:
#设置日志级别
logging.level.org.springframework=DEBUG
浙公网安备 33010602011771号