@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