@Configuration :标明该类使用spring基于java的配置java
@ComponentScan : 启动组件扫描,能够被注册为spring应用上下文的里bean。web
@EnableAutoConfiguration : 开启spring自动配置spring
@SpringBootApplication:开启组件扫描和 自动配置,等于@Configuration + @ComponentScan + @EnableAutoConfiguration服务器
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes=ReadingListApplication.class) @WebAppConfiguration public class ReadingListApplicationTests { @Test public void contextLoads(){ } //从ReadingListApplication配置类里加载Spring应用程序上下文 }
1:从 spring-boot-starterparent继承版本号 mvc
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>{springBootVersion}</version> <relativePath /> <!-- lookup parent from repository --> </parent>
2:spring boot起步依赖app
起步依赖本质上是一个Maven项 目对象模型(Project Object Model,POM),定义了对其余库的传递依赖。dom
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <!--使用exclusion排除这个依赖--> <groupId>com.fasterxml.jackson.core</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
3:maven插件webapp
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
1: @Id :标记的一个实体的对应的主键字段上jsp
2: @GeneratedValue(strategy=GenerationType.AUTO) 操做后自动返回主键maven
3: 在一个Bean里加载配置属性
@Component @ConfigurationProperties("amazon") public class AmazonProperties { private String associateId; //经过set注入 public void setAssociateId(String associateId) { this.associateId = associateId; } public String getAssociateId() { return associateId; } } //配置文件中对应: //amazon.associateId= "20"
4: @Value("${test.name}") 直接获取配置文件中的值
5:@WebIntegrationTest(randomPort=true) 使用随机端口启动服务器。也能够将server.port=0
@RunWith的参数是SpringJUnit4ClassRunner.class,开启了Spring集成测试支持。
@ContextConfiguration指定了如何加载应用程序上下文。(不开启日志,不会加载外部属性)
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = AddressBookConfiguration.class) public class AddressServiceTests { @Autowired private AddressService addressService; @Test public void testService() { Address address = addressService.findByLastName("Sheman"); assertEquals("P", address.getFirstName()); assertEquals("Sherman", address.getLastName()); assertEquals("42 Wallaby Way", address.getAddressLine1()); assertEquals("Sydney", address.getCity()); assertEquals("New South Wales", address.getState()); assertEquals("2000", address.getPostCode()); } }
须要加载外部属性能够将@ContextConfiguration替换为:@SpringApplicationConfiguration,它会开启日志和加载外部属性,因此尽可能使用@SpringApplicationConfiguration进行测试。
----------------------------------------------------------------------------------------------
修改application.properties文件让springmvc支持视图的跳转目录指向为/main/webapp/jsp,配置以下图11所示:
spring.mvc.view.prefix = /WEB-INF/jsp/
spring.mvc.view.suffix = .jsp