После введения предыдущей статьи я считаю, что мои друзья больше не могут помочь, но жаждут Springboot. В этой статье я буду продолжать представлять конфигурацию файла конфигурации Springboot для моих друзей. Как использовать параметры глобальной конфигурации. Хорошо, давайте начнем наше знакомство с сегодняшним контентом.
Мы знаем, что Spring Boot поддерживает автоматическую конфигурацию контейнеров, а по умолчанию - Tomcat, конечно, мы также можем ее изменить:
1. Во-первых, мы исключаем Tomcat в зависимости от Spring-Boot-Starter-Web: исключить стартер Tomcat в файле POM
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions></dependency>
2. Добавить в причал контейнер
<Dependency> <groupid> org.springframework.boot </GroupId> <artifactId> Spring-Boot-Starter-jetty </artifactid> </depervice>
Таким образом, наш контейнер Springboot будет изменен в пристани.
Чтобы облегчить нашу отладку, вот для вас инструмент отладки HTTP: почтальон
Давайте поговорим о глобальном файле конфигурации Springboot: Application.properties
В разработке мы должны были столкнуться с таким требованием, которое состоит в том, чтобы изменить наш порт контейнера. Поскольку Springboot загружает контейнер по умолчанию, настройки порта, конечно, контролируются через файлы конфигурации, что довольно удобно. Нам нужно только добавить его в файл конфигурации:
Server.port = 6666
Таким образом, наш контейнерный порт будет изменен на 6666.
Мы также можем установить псевдоним доступа к проекту через файлы конфигурации:
server.context-path =/springboot1
Таким образом, мы можем начать проект и получить доступ к нашему проекту через http: // localhost: 6666/springboot1
Выше приведено только верхушка конфигурации файла конфигурации Springboot. Например, мы также можем настроить конфигурацию подключения к базе данных, настроить конфигурацию среды разработки, конфигурация среды развертывания и достичь бесшовного переключения между ними.
Давайте узнаем об использовании контроллера Springboot. Springboot предоставляет нам три аннотации:
В предыдущей статье мы использовали @RestController. Давайте попробуем использовать @Controller вместе:
@Controller // @responsebodypublic class requestTest {/*** Нет ограничений при методе запроса* @return*/@requestmapping (value = "/req") открытая строка req () {return "успех"; }}Когда мы введем http: // localhost: 8080/springboot1/req, чтобы войти в браузер, мы находим 404
{"TimeStamp": 1515332935215, "Статус": 404, «Ошибка»: «Нет сообщения», «Путь»: «/springboot1/req»}}}Почему это? Это связано с тем, что @Controller должен использоваться с шаблоном, поэтому мы открываем файл Maven POM и добавляем шаблон Springboot:
<!-Шаблон Springboot-> <Dependency> <groupId> org.springframework.boot </GroupId> <ratifactid> Spring-Boot-Starter-thymeLeaf </artifactid> </depertive>
Затем найдите шаблоны в каталоге ресурсов нашего проекта (если нет, создайте новый, но обязательно отметьте, что имя папки должно быть последовательным), а затем создайте успех. HTML, чтобы мы снова запустили проект и только что обращались к адресу, не так ли?
Однако здесь следует отметить, что текущая разработка на уровне предприятия отделена от передней и задней части. Когда мы делаем контрольные услуги, нам нужно только вернуть соответствующие данные. Конечно, есть еще один недостаток в использовании шаблонов, то есть производительность приведет к определенным потерям, поэтому каждый может кратко понять это здесь.
Как упомянуто в приведенном выше введении, @Controller+ @Replessbody эквивалентен @RestController, поэтому рекомендуется использовать @RestController здесь.
Давайте представим @requestmapping (value = "/req"). Я считаю, что все уже знают его использование. Конечно, эта аннотация может использоваться не только в методах, но и применительно к классам.
@Restcontroller //@controller //@responsebody@requestMapping (value = "/test") открытый класс requestSt {/*** Нет ограничений на метод запроса* @return*/@requestmapping (value = "/req") public String req () {return "успех"; }/** * Ограниченный метод запроса - get * @return */@requestmapping (value = "/req1", method = requestmethod.get) public String req1 () {return "успех"; }/** * метод запроса ограничения - это POST * @return */@requestmapping (value = "/req2", method = requestmethod.post) public String req2 () {return "успех"; }}Я считаю, что когда вы видите этот метод, вы уже должны знать его полезность. Это указанный тип доступа, и к нему можно получить доступ каким -либо образом без установки по умолчанию. Я не знаю, думал ли я, что если метод установлен в классе @Requestmapping, метод в классе будет унаследован по умолчанию. Конечно, вы также можете установить его отдельно на методе. Пожалуйста, попробуйте приоритетный вопрос самостоятельно.
Ниже я представлю вам, как получить константы в файлах конфигурации в контроллере. Сначала добавляем файл конфигурации:
name = hpugsage = 35content = имя: $ {name}; возраст: $ {age}Мы используем константы в файлах конфигурации, которые используются $ {}.
Ниже мы вводим параметры в контроллер:
// Включение параметров в файл конфигурации @Value ("$ {name}") частное имя строки; @Value ("$ {age}") частный целый возраст; @Value ("$ {content}") частное строковое контент; @Requestmapping (value = "/req3", method = requestMethod.get) public String req3 () {return "name =" + name; } @RequestMapping (value = "/req4", method = requestMethod.get) public String req4 () {return "age =" + age; } @RequestMapping (value = "/req5", method = requestMethod.get) public String req5 () {return "content =" + content; }Начните наш проект и попробуйте посетить его.
Если вы чувствуете себя неудовлетворенным этим использованием, вот еще один трюк: мы используем файлы конфигурации сопоставления класса и используем классы для использования параметров. Это удобнее, чем инъекция одного параметра. Во -первых, создайте класс Java
@Component@configurationproperties (prefix = "userInfo") открытый класс userInfo {private String names; частный целый возраст; частный строковый контент; public integer getage () {Возврат возраст; } public String getNames () {return names; } public void setNames (строки имена) {this.names = names; } public void setage (целый возраст) {this.age = age; } public String getContent () {return Content; } public void setContent (String Content) {this.content = content; }}Затем установите параметры в нашем файле конфигурации:
userInfo.names = Little Broken Child UserInfo.age = 25USERINFO.Content = Имя: $ {userInfo.names}; AGE: $ {userInfo.age}Проводка, чтобы сделать наш контроллер:
// Inject Object @Autowired Private UserInfo userInfo; @Requestmapping (value = "/req6", method = requestMethod.get, производить = "text/plain; charset = utf-8") public String req6 () {return "name =" + userInfo.getNames (); } @RequestMapping (value = "/req7", method = requestMethod.get) public String req7 () {return "age =" + userInfo.getage (); } @RequestMapping (value = "/req7", method = requestMethod.get) public String req7 () {return "age =" + userInfo.getage (); } @RequestMapping (value = "/req8", method = requestMethod.get) public String req8 () {return "content =" + userInfo.getContent (); }ОК, попробуйте перезапустить наш посещение проекта.
Друзья, разве вы не знаете, если вы столкнетесь с этой проблемой? Есть искаженный китайский код. Прежде всего, не волнуйтесь. Давайте посмотрим на другой файл конфигурации Springboot: Application.yml. Этот файл конфигурации заменяет ";" Newline Spaces. Давайте посмотрим, как такая же конфигурация настроена в соответствии с YML:
Сервер: Порт: 8888 Context-Path: /Springboot1name: HpugSage: 35Content: Имя: $ {name}; возраст: $ {age} userInfo: имена: Little Kid Age: 25 Содержание: $ {userInfo.names}; возраст: $ {userInfo.age}Теперь давайте начнем проект и попробуем его.
Возвращаясь к искаженному вопросу выше, не искажается, когда мы используем YML? Вы немного подавлены? Почему это? Это связано с тем, что файл .properties использует форму кодирования Unicode, поэтому, когда мы введем китайский язык. Конечно, есть еще одна причина искаженного кода, то есть настройки кодирования, которые я могу быть непоследовательным с фронтальным. Мы добавляем это в файл конфигурации:
Весна: http: кодирование: сила: True Charset: UTF-8 включен: TreuServer: Tomcat: Uri-Encoding: UTF-8
контролировать. Вот несколько советов по разработке. Springboot предоставляет нам решения различных файлов конфигурации в различных средах разработки:
#yml Format Spring: Профили: Active: Prod#.properties Format Spring.profiles.active = dev
Суммировать
Выше приведено использование нот подводных слоев Springboot о ловушках Springboot, представленных вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!